Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1358661
  • 博文数量: 166
  • 博客积分: 46
  • 博客等级: 民兵
  • 技术积分: 4061
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-11 13:45
个人简介

现任职北京某互联网公司运维经理,高级架构师,涉足互联网运维行业已经超过10年。曾服务于京东商城,互动百科等互联网公司,早期运维界新星。 长期专研,C语言开发,操作系统内核,大型互联网架构。http://www.bdkyr.com

文章分类

分类: 架构设计与优化

2014-10-18 09:54:23

       作为一名合格的网站的架构师,需对网站整体能承载的压力了如指掌,只有这样才能做到运筹帷幄,决胜千里。

      尤其是一个新项目在上线之前,首要做的是在预演环境,模拟用户访问进行压测,这样,对于其能承受多大访问量、在高并发情况下,web服务及服务器硬件的性能如何?这些数据指标我们都要收集。以此来对上线后的真实环境下,用户体验效果的优劣做出正确评估。
    
  但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100%和线上性能指标相同。面对这些问题,我们只能想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对网站整体架构规划、架构升级、后期运维做到心中有数。

  在线上环境中,常用的网站压测工具有webbench、ab(apache bench)、tcpcopy、loadrunner、httpload等。软件名称简介优缺点

  webbench由Lionbridge公司开发,主要测试每秒钟请求数和每秒钟数据传输量,同时支持静态、动态、SSL,部署简单,静动态均可测试。适用于小型网站压力测试(单例最多可模拟3万并发)

  ab(apache bench)Apache自带的压力测试工具,主要功能用于测试网站每秒钟处理请求个数,多见用于静态压力测试,功能较弱,非专业压力测试工具

  tcpcopy基于底层应用请求复制,可转发各种在线请求到测试服务器,具有分布式压力测试功能,所测试数据与实际生产数据较为接近后起之秀,主要用于中大型压力测试,所有基于 tcp的packets均可测试。

  loadrunner压力测试界的泰斗,可以创建虚拟用户,可以模拟用户真实访问流程从而录制成脚本,其测试结果也最为逼真模拟最为逼真,并可进行独立的单元测试,但是部署配置较为复杂,需要专业人员才可以。

    http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB。它以并行复用的方式运行,可以测试web服务器的吞吐量与负载。

    当然,上述的压测软件在特定的环境可能无法满足我们的需求,怎么办呢?可以在现有的基础上,做一下小小的改造,如“添加gzip功能

    如果你立志做一名优秀的网站架构师,上述的benchmark工具,则需要你花费定量的时间好好研究,古语“工欲善其事,必先利其器”,磨刀不误砍柴工。
阅读(6500) | 评论(3) | 转发(2) |
给主人留下些什么吧!~~

woaimaidong2014-10-21 17:48:54

http_load和webbench用的多一些,只不过默认的安装包没有gzip参数,需要添加,然后从新编译。

可以参考这篇博文“为benchmark添加gzip功能”

zhangshengdong2014-10-21 16:41:17

我也学习学习

zhangshengdong2014-10-21 16:41:06

对这些测试工具研究的如何?有一套自我总结的测试思路和方案?