负载数据分析
我们使用前面标准的负载模式,打开Nmon、SQL log、Xdebug及Spotlight监控,分析系统在负载下的情况定位瓶颈。
场景的运行时间为14分钟,所以Nmon的运行参数为:
./nmon_x86_64_centos5 -s5 –c170 -f -m /tmp/ |
14分钟的监控为每5秒一次,共监控168次,算上前后可能的时间,所以多加了两次。先运行Nmon监控再运行场景。
这次场景不添加Linux的rpc.rstatd监控,全部换成Spotlight 和Nmon。
最后用户注册成功888个,在Spotlight上可以看到注册的过程(高负载下由于服务器资源缺乏会导致Spotlight无法获得MySQL数据的情况),数据SQL语句执行最大超过了250条/秒,其中查询排名第一,更新排名第二,插入排名第三,删除记录很少。
而在miss rates中可以看到负载过程中查询命中率是比较低的,因为每个注册用户的操作都不尽相同。
在更详细的Query Cache 分析中我们可以看到当负载产生后misses的数目最高在100条/每秒,而hits命中的SQL语句只有每秒10多条,大量的Qcache Memory并没有被使用。
负载后生成的Xdebug文件很多,使用tar –zcvf xdebug.tar.gz \tmp\xdebug将文件打包下载。首先来看一下LR中对于注册操作的分析,在事务的响应时间中我们可以看到整个请求一直稳定在5.7秒左右,对该请求进行细分也可以发现注册操作在整个注册事务中响应时间只占很低的比例。