网站服务器如何做访问压力测试?

 

 

链接:https://www.zhihu.com/question/20091318/answer/18019864

从压力测试来说,网站的压力分几层。
web server 层(tomcat/nginx/iis),这个稍微简单一些,用脚本(curl/python)或者小工具(apache-utils),制造高并发的get/post请求到服务器看响应时间。优化的手段一般是做网页静态化减少与应用层的数据请求交互,这也是大部分网站做的事情。
应用层,这个涉及业务链的性能,就需要写复杂一点的脚本或者用loadrunner一类的工具,把整个业务场景涉及的流程都写好,然后跑多并发的用户去测试应用对请求的处理和响应时间。优化的手段就复杂一些了,需要根据测试的结果优化业务处理的流程或者数据处理的方式,这种优化涉及架构,优化代码处理的cpu占用时间,优化数据的内存占用,选择一些查找性能比较好的数据结构,比较底层。
数据层,直接测数据库性能的业务不多,一般都与业务关联,用脚本或者loadrunner一类的工具,对一些需要写入/读取数据的业务施加一个高并发的压力,看数据库的处理写入/读取时间。涉及这个层次的优化与应用层的优化比更多的是考虑数据库的性能,比如做数据库集群,做数据库写入的缓存队列,数据库缓存到内存中。
磁盘IO层,这个一般都不会考虑,已经不属于网站功能的测试范围了,只有真的是碰到网站访问量巨大,写入和读取的数量非常非常大的时候才会考虑到,图片/js/css,数据库写入/读取等磁盘IO请求已经繁忙到服务器硬件都崩溃的情况,优化手段无非就是根据读取或写入的实际情况上高性能的文件服务集群(TFS),用SSD,做磁盘阵列,有钱的考虑EMC这类的高级存储服务器。
posted @ 2017-08-01 17:13  晓容晓枫  阅读(808)  评论(0)    收藏  举报