如何衡量Web应用程序的性能?

3

我已经在PHP/Apache/Mysql、Python/Ngix/Postgresql和Erlang/Yaws/Mnesia中开发了3个简单的博客系统。

如何测试这三种不同配置下我的服务器性能?

3个回答

4
我建议你看一下Tsung。阅读他们主页上的介绍:
它可以用于压力测试HTTP、WebDAV、SOAP、PostgreSQL、MySQL、LDAP和Jabber/XMPP服务器。Tsung(前身为IDX-Tsunami)是一款免费软件,发布在GPLv2许可下。Tsung的目的是模拟用户以测试基于IP的客户端/服务器应用程序的可伸缩性和性能。您可以使用它来对服务器进行负载和压力测试。许多协议已经被实现和测试过,并且可以很容易地扩展。WebDAV、LDAP和MySQL支持最近已添加(试验性)。它可以在多个客户端机器上分布,并且能够同时模拟成百上千个虚拟用户(如果你有足够的硬件甚至可以达到数百万)。
Tsung是用Erlang开发的,这是由Ericsson制作的一种开源语言,用于构建强大的容错分布式应用程序。
另外,在Erlang方面,你可能会在Erlang效率指南的性能剖析部分中找到一些提示和工具。

3
当您说要衡量性能时,我想您是指负载测试、响应时间等方面。
如果是这样,您可以使用ab(apache bench)。它是一个小程序,通常在Linux和Mac上都可用。您只需给它一个URL,告诉它要请求多少次,并可以选择提供一些其他参数。因为它发送的是http请求,所以服务器代码实现的方式并不重要,因此您可以使用它来测试所有三个系统。
以下是关于ab的更多信息的链接
ab将为您提供每个系统可以处理的每秒请求数的好主意。如果您想比较三个系统的单个指标,这是一个相当不错的方法。
要发现限制性能的服务器元素是什么(CPU、数据库访问、带宽),您需要查看服务器上的工具,而不是客户机上的工具。您在那里使用什么工具取决于操作系统,并且可能会因实现服务器代码所使用的语言/工具而有所不同。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接