性能测试中可以通过服务器资源估算系统所能承载的最大并发量吗?谢谢各位大神

以190亿美元的价格出售给Facebook,交易谈判过程中更受到了拉里·佩奇的劝阻,WhatsApp确实取得了一场辉煌的胜利。然而不可忽视的是,该公司用以服务/zjjs/.asp

在项目上线之前,都需要做压力测试,目的是看下我们的网站能抗住多少的压力,能承担多少并发,如果不做压力测试,一旦出现大访问量时,我们的网站会挂掉。

Webbench是Linux下的一个网站压力测试工具,能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每分钟相应请求数和每秒钟传输数据量。webbench最多可以模拟3万个并发连接去测试网站的负载能力。

这里使用百度做个试验 ^_^:

当并发500时,成功请求1402个,已经显示有41个连接failed了,说明超负荷了。

1、压力及性能测试工作应该放到产品上线之前,而不是上线以后;
2、测试时并发应当由小逐渐加大,比如并发100时观察一下网站负载是多少、打开页面是否流畅,并发200时又是多少、网站打开缓慢时并发是多少、网站打不开时并发又是多少;
3、更详细的进行某个页面测试,如电商网站可以着重测试购物车、推广页面等,因为这些页面占整个网站访问量比重较大。

备注:webbench 做压力及性能测试时,该软件自身也会消耗CPU和内存资源,为了测试准确,建议将 webbench 安装在其他的服务器上,已达到测试数据更加精确。

上边学习了怎样使用webbench来做压力测试,现在就用这个工具来测试下自己的博客,我的博客服务器使用的是阿里云ECS,当并发由100 到 500时,看下服务器的CPU使用率和内存使用情况,当并发数过多时,CPU会不会被占用完,网站此时还能否正常访问,我们的目的就是测出网站能抗住多少的并发量。

1、使用 top 命令查看服务器资源使用情况

在实测之前,首先学下top命令的参数含义:

top命令是Linux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.

500个并发,在60秒内,请求成功2172个,失败数225个

我们再看下在压测时,服务器的资源使用情况:

通过上边的三张图,我们可以看到,当500并发压测时,空闲CPU百分比越来越少,由99.0 id 减少到 41.3 id 再到 0.0 id,压测结束时,又恢复到正常的水平,99.0 id。说明我的网站500并发就扛不住了,CPU资源消耗完了,这时如果访问我的网站,会出现 502 的情况。所以,根据压测结果,可以更好的对网站的硬件配置进行提升和对站点的静态优化。

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家

或 者关注我每天分享技术文章

谢邀,测试环境单机压测就是楼主说的那些手段。

对于线上环境的压测,简单的说有两种方式

1.直接拿线上用户压,把流量都引到某一部分服务器上,服务器逐渐减少观察,用此来估算单机能承载的压力。

2.拿一大堆服务器来压,比如直接用cdn网络模拟真实用户的访问。

我要回帖

更多关于 性能测试场景有哪些 的文章

 

随机推荐