【发布时间】:2011-01-26 16:07:30
【问题描述】:
我在 PHP/Apache/Mysql、Python/Ngix/Postgresql 和 Erlang/Yaws/Mnesia 中开发了 3 个简单的博客系统。
我如何衡量我的服务器上这 3 种不同配置的性能?
【问题讨论】:
标签: performance erlang mnesia
我在 PHP/Apache/Mysql、Python/Ngix/Postgresql 和 Erlang/Yaws/Mnesia 中开发了 3 个简单的博客系统。
我如何衡量我的服务器上这 3 种不同配置的性能?
【问题讨论】:
标签: performance erlang mnesia
当您说要衡量性能时,我假设您指的是负载测试、响应时间等。
如果是这样,您可以使用 ab(apache bench)。它是一个通常在 linux 上可用的小程序,我相信在 mac 上。你给它一个 url,告诉它请求它的次数,并可选地给它一些其他参数。它发送 http 请求,因此服务器代码的实现方式无关紧要,因此您可以使用它来测试所有 3 个系统。
Here's a link with more information on ab
ab 会让您清楚地了解每个系统每秒可以处理多少个请求。如果您想要一个指标来比较您的 3 个系统,这是一个非常好的指标。
要发现服务器的哪些元素限制了性能(cpu、数据库访问、带宽),您需要查看服务器上而不是客户端计算机上的工具。您在那里使用的工具取决于操作系统,并且可能会根据您用于实现服务器代码的语言/工具而有所不同。
【讨论】:
您也可以尝试使用 httperf (http://www.hpl.hp.com/research/linux/httperf/)。
【讨论】:
我建议你看看Tsung。
从他们的主页阅读:
可用于强调HTTP、WebDAV、 SOAP、PostgreSQL、MySQL、LDAP 和 Jabber/XMPP 服务器。宗(原 称为 IDX-海啸)是免费的 在 GPLv2 下发布的软件 许可证。
Tsung 的目的是模拟 用户为了测试可扩展性 和基于IP的性能 客户端/服务器应用程序。你可以 用它来做负载和压力测试 您的服务器。许多协议都有 已实施和测试,它 可以很容易地扩展。 WebDAV、LDAP 和 MySQL 支持已添加 最近(实验)。
它可以分布在几个 客户端机器并且能够 模拟数十万 虚拟用户同时(甚至 数百万,如果你有足够的硬件 ...)。
Tsung 是用 Erlang 开发的,一个 爱立信开发的开源语言 用于构建健壮的容错 分布式应用程序。
另外,对于您的 Erlang 位,您可能会在 profiling section of the Erlang efficiency guide 中找到一些提示和工具。
【讨论】: