php 性能测试工具 ab(Apache Benchmark)
ab 是由 Apache 提供的压力测试软件。安装 apache 服务器时会自带该压测软件。
如何使用:
ab -n1000 -c100 http://www.baidu.com
-n 请求数 -c 并发数
使用 php 语言时可以优化的地方
1、少写 php 代码,多使用 php 自身的内置函数去实现要实现的功能等。
2、减少魔法函数的使用
3、不使用错误抑制符 "@"
4、合理使用内存,利用 unset() 及时释放不使用的内存。
5、尽量少的使用正则表达式。因为正则表达式的回溯开销较大,可以考虑使用字符串处理函数实现相同逻辑。
6、避免在循环内做运算。如
$str = "hello"; for($i=0; $i<strlen($str); $i++) { // do something }
上面的代码中会计算多次字符串长度
7、减少计算密集型业务,如大批量数据分析。
8、务必使用带引号字符串做键值。php 会将没有引号的键值当作常量,会产生查找常量的开销。
php 周边问题优化
1、服务器硬件环境、网络带宽等
2、数据库相关优化(查询优化、索引优化、主从配置)
3、文件存储(对象存储OSS)、静态文件分发优化(CDN)
4、传输压缩(nginx 开启 gzip,会带来一定的 CPU 开销)
5、第三方服务调用优化(对于需要同时调用多个服务接口的,可以考虑同时发送多个请求,curl_multi_exec,将串行请求并行化,或者使用 swoole 扩展)、减少 php 发起网络请求、设置超时时间。如果使用 curl_multi_exec,需要注意的是,该方法返回的时间取决于里面耗时最长的请求。
6、使用 redis、memcache 缓存
7、使用 redis 或者 memcache 作为 session driver
利用 php 运行机制进行优化
1、使用 opcache
2、利用 swoole 扩展实现 php 代码常驻内存,laravel 的实现有 laravel-swoole