如何测试一个web网站的性能(并发数)?

最近做了个web网站(javaweb),现在想测试一下这个网站能承受的最大并发数,但是对于压力测试知之甚少,求指教啊,我有两个问题:
1.我最想测试的是最大并发量,怎么测试呢?
2.一般web网站性能测试都有哪些指标呢,并发量、响应时间?

关于测试并发量,我是想写个程序,开多个线程连接网站(模拟用户量),在线程中进行增删改查的操作,不知是否可以呢?


另外,该网站需要满足300人能同时考试,具体应该怎么测试呢?
实测当中,估计同时考试的用户有时候会超过500人,有少数考生在读取试题页面时浏览器会卡死,这个问题是读取数据库那边的瓶颈么?

这个是我用httpload测试网站首页的结果(首页数据需从数据库读取)
并发线程数 / 持续时间(s) / 每秒连接数 / 每秒数据量(byte)
100 / 10 / 93 / 102969
200 / 10 / 128 / 142342
300 / 10 / 121 / 134047
500 / 10 / 118 / 131278
1000 / 10 / 69 / 76411
光这么测试,也看不出太大效果,求有经验的XDJM指定~~

阅读 38.3k
评论
    7 个回答
    • 317

    看你是想做单个连接的或者是几个模块的压力测试呢 还是全站的

    如果单独几个连接的 apache 的ab 和webbench等就基本上差不多可以做到了,压力起来以后观察内存和cpu、磁盘的状态,同时程序中要注意通过日志记录 主要的性能变化,例如 一些远程rpc请求的耗时、数据库操作的耗时、复杂数据处理逻辑的耗时,然后分析性能瓶颈和问题,另外一些程序在开发时就可以通过一些内置的功能进行性能检测,避免有大的逻辑耗时出现

    如果是想整个网站都进行也就是最真实的看全局的压力应对能力,可能就要涉及到web请求日志的回放或者缩小回放了,这里可能要自己利用程序实现了

    不过一般都是先根据项目状态把最主要的核心模块做好压力测试之后 在进行全局的