高迸发下性能优化

hello world

http://rango.swoole.com/archives/508

php性能优化

  • 运行环境
    • php7,比php5快两倍以上
    • opcache
    • php-fpm进程数,根据系统总内存数/单个进程占用的内存数据,单个进程的内存数比较难估
  • io操作优化
    • 使用cache,nosql > db
    • 减少io操作(包括cache),合并多个操作,mget()
    • 外部接口调用需要谨慎,对其性能要评估
    • 异步处理某些操作,比如发短信,发红包等业务。会使用到队里服务,最简单的redis队列或者db模拟队列
    • php不存在代码级别的锁,但要防止io锁操作,比如DB锁(update 同一行)
    • 减少memcache的热点数据,热点数据会导致只使用mc集群中的单台机器,解决方法应该是设置多级缓存,这会带来逻辑上的增长和运维成本的增加

性能测试工具

  • 先单个请求的时间消耗,比如之前100ms,优化后50ms
  • 使用apache ab做并发测试
    ab -c10 -100 http://abc.com/index.php
Author: gangbo