话说网站压力测试

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:        作为一名合格的网站的架构师,需对网站整体能承载的压力了如指掌,只有这样才能做到运筹帷幄,决胜千里。       尤其是一个新项目在上线之前,首要做的是在预演环境,模拟用户访问进行压测,这样,对于其能承受多大访问量、在高并发情况下,web服务及服务器硬件的性能如何?这些数据指标我们都要收集。
       作为一名合格的网站的架构师,需对网站整体能承载的压力了如指掌,只有这样才能做到运筹帷幄,决胜千里。

      尤其是一个新项目在上线之前,首要做的是在预演环境,模拟用户访问进行压测,这样,对于其能承受多大访问量、在高并发情况下,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服务器的吞吐量与负载。

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

    如果你立志做一名优秀的网站架构师,上述的benchmark工具,则需要你花费定量的时间好好研究,古语“工欲善其事,必先利其器”,磨刀不误砍柴工。
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
6月前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
105 0
|
6月前
|
缓存 运维 监控
网站性能测试
【4月更文挑战第8天】网站性能测试
105 1
|
6月前
|
敏捷开发 运维 安全
链家网站系统测试设计与实现_kaic
链家网站系统测试设计与实现_kaic
|
2月前
|
人工智能 数据可视化 API
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
10 分钟构建 AI 客服并应用到网站、钉钉或微信中测试评
95 2
|
1月前
locust网站压力测试软件
locust网站压力测试软件
32 0
|
2月前
|
监控 安全 Linux
如何利用Kali Linux进行网站渗透测试:最常用工具详解
如何利用Kali Linux进行网站渗透测试:最常用工具详解
114 6
|
4月前
|
开发框架 前端开发 JavaScript
ABP框架测试信息---Winform端、动态网站、Vue&Element管理后端等
ABP框架测试信息---Winform端、动态网站、Vue&Element管理后端等
|
3月前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
4月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
66 3
|
4月前
|
测试技术 Python
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。
我们假设要测试一个名为`http://example.com`的网站,并对其进行简单的GET请求性能测试。