如何衡量Web App的性能?

时间:2010-03-12 02:29:57

标签: performance erlang mnesia

我在PHP / Apache / Mysql,Python / Ngix / Postgresql以及Erlang / Yaws / Mnesia中开发了3个简单的博客系统。

如何针对这3种不同的配置测量服务器的性能?

3 个答案:

答案 0 :(得分:4)

我建议你看一下Tsung

从他们的主页阅读:

  

它可以用来强调HTTP,WebDAV,   SOAP,PostgreSQL,MySQL,LDAP和   Jabber / XMPP服务器。 Tsung(原名   被称为IDX-Tsunami)是免费的   根据GPLv2发布的软件   许可证。

     

Tsung的目的是模拟   用户为了测试可伸缩性   和基于IP的性能   客户/服务器应用程序您可以   用它来做负荷和压力测试   你的服务器许多协议都有   已经实施和测试,它   可以很容易地扩展。 WebDAV,LDAP   和MySQL支持已添加   最近(实验性的)。

     

它可以分布在几个上   客户端机器并且能够   模拟成千上万的   虚拟用户同时(甚至   数百万,如果你有足够的硬件   ...)。

     

Tsung是在Erlang开发的   爱立信制作的开源语言   用于构建强大的容错   分布式应用程序。

此外,对于您的Erlang位,您可能会在profiling section of the Erlang efficiency guide中找到一些提示和工具。

答案 1 :(得分:3)

当你说你想衡量表现时,我认为你的意思是负载测试,响应时间,那种事情。

如果是这样,你可以使用ab(apache bench)。它是一个小程序,通常可以在linux上使用,我相信,macs。你给它一个网址,告诉它要求它多少次,并可选择给它一些其他参数。它发送http请求所以无论服务器代码是什么实现都没关系,所以你可以使用它来测试所有3个系统。

Here's a link with more information on ab

ab将让您了解每个系统每秒可以接收的请求数。如果您希望使用单个指标来比较您的3个系统,那么这个系统非常好。

要发现服务器的哪个元素限制性能(cpu,数据库访问,带宽),您需要查看服务器而不是客户端计算机上的工具。您在那里使用的工具将取决于操作系统,并且可能会根据您用于实现服务器代码的语言/工具而有所不同。

答案 2 :(得分:1)

您也可以尝试使用httperf(http://www.hpl.hp.com/research/linux/httperf/)。