技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> Apache --> 给Apache做压力测试时遇到的问题

给Apache做压力测试时遇到的问题

浏览:6011次  出处信息
最近,在Linux上对Apache-2.1.16做了一下压力测试;只访问一个简单的hello world静态文件,做了多次,每秒处理请求次数才700左右;

    一定是哪里出现了问题,因为:

     1. 虽然load很高,但是cpu和io都很低,这种现象就比较奇怪

     2. client端的负载很低

     3. 曾经有过 2000/s的测试,而且当时的机器配置比现在的要差的多

    当我使用同样的方法对nginx做测试的时候,nginx可以达到 2.2w/s 。

    无奈之下,只好又把strace请出来了,发现写日志的地方很慢。

    于是怀疑是磁盘问题; 使用hdparm测试了一下磁盘,没有问题; 又用 time dd ... 测试了一下,写的速度也 700+MB/s ; 回头想想,确认了一下nginx也是记日志的,而且都是同一块磁盘,大概不是磁盘问题了。

    修改Apache 配置文件,把记日志的配置注释掉, 重新测试,发现可以达到 7k+/s 了;仔细观察Apache的配置,是这样写的:

    TransferLog "|/data1/apache2/bin/rotatelogs /path/to/logfile"

    于是,我想怀疑rotatelogs 这个程序了,但是似乎也没有道理; 那么就只剩下那个管道了,恩, 大概问题就出现在管道上了。

    因为管道的大小为4k, 多进程写管道,单进程读管道,也难免会出现阻塞的情况;另外,load高的时候,io是很低的,所以说磁盘不是瓶颈。 管道是瓶颈

    ----------

    如何利用管道来模拟一个cpu、io都很低,但是load很高的实例呢?

建议继续学习:

  1. Xvfb+YSlow+ShowSlow搭建前端性能测试框架    (阅读:54292)
  2. 安全测试与渗透测试区别    (阅读:23780)
  3. 使用Fiddler对手机应用进行抓包测试    (阅读:7024)
  4. 服务器性能测试工具推荐    (阅读:6566)
  5. WEB性能测试工具推荐    (阅读:5728)
  6. 可用性测试好助手——Morae软件的应用    (阅读:5625)
  7. 12款很棒的浏览器兼容性测试工具推荐    (阅读:4927)
  8. 可用性测试的权衡之道(二)    (阅读:4865)
  9. 在线测试不同操作系统不同浏览器网页的显示效果    (阅读:4701)
  10. 性能测试工具sysbench简介    (阅读:4845)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1