Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6275724
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: 架构设计与优化

2014-10-29 10:24:15

原文地址:话说网站压力测试 作者:woaimaidong

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

      尤其是一个新项目在上线之前,首要做的是在预演环境,模拟用户访问进行压测,这样,对于其能承受多大访问量、在高并发情况下,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工具,则需要你花费定量的时间好好研究,古语“工欲善其事,必先利其器”,磨刀不误砍柴工。
阅读(910) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~