一次磁盘瓶径分析经验

一、项目简介:一个视频推广系统与多家网站合作,其它网站调用我方视频资源。每调用一次会在我方磁盘上写一条日志。日志文件是以分钟为单位生成。上线后每秒钟到2000个请求时出现性能问题。固在线下做压力测试寻找性能瓶径。

二、测试环境   
        1台客户端: windows2003   loadrunner
        1台服务器 : cpu 16核   mem 16G      php+nginx+mysql+memcache

三、测试策略:
       1个固定的url,带有各种参数,直接入日志。运行时使用无间隔不断加压,脚本如下:

Action()
{
//web_add_cookie("user=Kqcq056x1pddq7Ip6c6kd; DOMAIN=v.ifeng.com");
//web_add_cookie("PHPSESSID=dfea59a03919d6d01f47eaacf08c2; DOMAIN=v.ifeng.com");
web_url("page", 
"URL=http://192.168.xx.xx/page?guid=ff1edsb0ddb-79ff-45f3-af73-46247a8c88bd&user=vchanpin&refer=aHR0cDovL3dlaWJvLmNvbS94aWFveGlldG9uZ3h1ZS9wcm9maWxlP2xlZnRuYXY9MSZ3dnI9My42JmlzX3ZpZGVvPTE=&from=sinaweibo&AutoPlay=true&tm=446642", 
"Resource=0", 
"RecContentType=text/html", 
"Referer=", 
"Mode=HTML", 
LAST);
return 0;
}

四、瓶径分析:

1,压力过程使用top查看服务器资源,其它值正常,唯独cpu的sy偏高,判断为系统本身进程影响性能,而非应用进程。在loadrunner中查看的响应时间波动也较大。
2,通过iostat -x  1查看, await 和avgqu-sz会隔2-3秒出现一次偏高。其它值正常。
3,通过iostat -p 1查看,哪个目录读写频繁,结果如下  cciss/c0d0p6  磁盘写入频繁。通过df 查看此盘挂载的是/tmp文件夹。进入后查看是很多sess开头的临时文件
      应该有几万个。可以判断正是由于生成的这些文件影响了性能。此文件是php生成的session文件,开发将过期时间设置成了2个小时,所以压力过程在不断生成这些文件时候消耗了大量时间,并发是文件体积大造成,而是由文件数太多造成。
4,后来把这些文件指向/dev/shm(内存),并设置过期时间10秒。性能一切正常。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值