项目上线后,发现负载均衡下的每台web服务器负载均很高,但是CPU利用率确是不高。因为web代码是PHP开发的,从CPU利用率看出来代码应该没有什么问题,极有可能是由于IO等待导致每个php执行时间太长,导致任务堆积。
然后打开PHP的慢日志,问题就清楚了,原来性能卡在session上。我们是使用ci3框架开发,并且使用阿里云nas作为共享session。
script_filename = /data0/www/***/public/index.php
[0x00007f2543d5abd8] flock() /data0/www/***/public/system/libraries/Session/drivers/Session_files_driver.php:178
[0x00007ffe9a3ebee0] read() unknown:0
[0x00007f2543d5a338] session_start() /data0/www/***/public/system/libraries/Session/Session.php:143
[0x00007f2543d591d8] __construct() /data0/www/***/public/system/core/Loader.php:1285
[0x