我在PHP / Apache / Mysql,Python / Ngix / Postgresql以及Erlang / Yaws / Mnesia中开发了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/)。