为初学者服务器压力testing和configuration?

我们的城市即将举办一个非常公开的活动(在市政厅提供公共场所的数据收集),要求我们公司创build表格申请表,提交课程表和一些个人数据。 由于该活动正在接受宣传以及我们客户的以往经验,预计大约5-10万名用户将在第一周提交数据。

我已经有了使用Amazon EC2的小型应用程序的良好体验,因此我打算推出一个专门用于input/输出的实例,期望获得大量的数据input。

该应用程序要么在Windows服务器上运行IIS + MySQL或Tomcat + MySQL。

我真的很感激一些想法和build议,testing和configuration这个Web服务器的压力,并同意用户避免经历停机和失去联系。 我没有什么经验来处理这个数量的用户,所以我是这种工具的初学者。

进展:

  • 我已经在Vimeo中find了Jmeter的一个很好的入门教程( http://vimeo.com/3453772 )
  • 我也在这个博客中find了对testing结果的有用解释

在我看来,这两个资源使除了官方文档之外更容易理解Jmeter。

既然你想在整个堆栈上testing这个应用程序,你可能需要一些可以填写表单和login的东西。Jmeter在这方面是相当广泛的。

最重要的是要确保你压力testing的各个方面,将冲击包括SQL后端的整个堆栈。 另外,如果您的应用程序是以这种方式构build的,则确保您正在浏览大量不同的页面,这样做不仅仅是对系统caching进行基准testing。 使用a / b不正确地重复加载一个静态页面大多是浪费时间,除非你只关心Apache的最佳情况下的性能。

这个过程一般是:

水面浮油:

  • 确保压力testing值得投入时间
  • 开发一个广泛的压力testing,将testing整个堆栈(即Jmeter)。 如果时间有限,你不能这样做,那么使用你的跨职能团队(开发,DBA,系统pipe理员等)最好的猜测瓶颈
  • 确保你有一个在testing过程中监视所有相关系统资源的进程

执行:

  • 运行压力testing
  • 分析瓶颈的结果
  • 修复瓶颈
  • 重复

作为最后一点,我经常发现,获得足够多的系统来testing系统是其中一个难点 – 所以你的亚马逊解决scheme对我来说听起来很不错。

ab来自Apache是​​一个非常stream行的压力testing工具。 我会看看,看看是否符合你的需求。

奥雷利答案:如何使用AB进行压力testing