如何测试一个http JSON服务器的性能?

问题描述:

如何测试只服务和接受JSON请求(post和get)的http服务器的性能?我是新来的网络测试,所以告诉我,如果我试图以不正确的方式做到这一点。如何测试一个http JSON服务器的性能?

我希望测试:

  • 服务器可以处理数百个并发连接。
  • 服务器能够每秒处理数千个请求。
  • 当请求数超过服务器功能时,服务器不会崩溃或卡住,并且当请求数下降到平均值以下时,服务器继续正常运行。

一种方法是编写一些逻辑,在每次运行中重复某些操作并运行多个逻辑。

PS:理想情况下,该工具/方法应该支持像gzip这样的压缩选项。

+1

推荐移动到serverfault –

你可以试试JMeter,它是HTTPSampler。 关于gzip。我从来没有在JMeter中使用它,但它似乎可以: How to get JMeter to request gzipped content?

+0

我试过jmeter,它正是我在找什么。谢谢。 –

Apache Bench(ab)是一个命令行工具,非常适合这些类型的东西。 http://en.wikipedia.org/wiki/ApacheBench

ab -n 100 -c 10 http://www.yahoo.com/ 

如果你是新的网页测试,然后有很多的,你需要考虑的因素。在最基本的层面上,你想要完成你所概述的事情。

除此之外,您需要考虑表现不佳的客户可能会如何影响您的服务,例如。保持连接活跃,发送格式错误的请求等。这些可能会转化为服务器上的异常,从而可能会产生额外影响(由于日志记录或执行速度较慢)。这意味着您必须想办法打破服务并监控在更高规模上产生影响的事件。

对于Web应用程序,微软拥有相当不错的introduction to performance testing