如何衡量Web App性能?

发布于 2024-08-25 09:02:43 字数 116 浏览 9 评论 0原文

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

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

I have developed 3 simple blogging system in PHP/Apache/Mysql, Python/Ngix/Postgresql and in Erlang/Yaws/Mnesia.

How can I measure performance on my server for this 3 different configuration ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

冰雪梦之恋 2024-09-01 09:02:44

当你说你想衡量性能时,我假设你指的是负载测试、响应时间等。

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

这是有关 ab 的更多信息的链接

ab 可以让您很好地了解有多少每个系统每秒可以处理的请求数。如果您想要一个指标来比较您的 3 个系统,那么这是一个非常好的指标。

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

When you say you want to measure performance I assume you mean load testing, response times, that kind of thing.

If so you can use ab (apache bench). Its a little program that's usually available on linux and, I believe, macs. You give it a url, tell it how many times to request it and optionally give it some other parameters. Its sending http requests so it doesnt matter what the server code is implemented in so you can use it to test all 3 systems.

Here's a link with more information on ab

ab will give you a good idea of how many requests per second each system can put through. If you want a single metric to compare your 3 systems that's a pretty good one.

To discover what element of the server is limiting performance (cpu, database access, bandwidth) you'll need to look at tools that are on the server instead of on the client machine. What tools you use there will depend on the operating system and potentially will vary depending on what language/tools you used to implement the server code.

梅倚清风 2024-09-01 09:02:44

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

Also you can try to use httperf (http://www.hpl.hp.com/research/linux/httperf/).

南七夏 2024-09-01 09:02:43

我建议你看看 Tsung

从他们的主页上读到:

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

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

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

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

另外,对于您的 Erlang 位,您可能会在分析部分找到一些提示和工具。 Erlang 效率指南

I would suggest you to have a look at Tsung.

Reading from their home page:

It can be used to stress HTTP, WebDAV,
SOAP, PostgreSQL, MySQL, LDAP and
Jabber/XMPP servers. Tsung (formerly
known as IDX-Tsunami) is a free
software released under the GPLv2
license.

The purpose of Tsung is to simulate
users in order to test the scalability
and performance of IP based
client/server applications. You can
use it to do load and stress testing
of your servers. Many protocols have
been implemented and tested, and it
can be easily extended. WebDAV, LDAP
and MySQL support have been added
recently (experimental).

It can be distributed on several
client machines and is able to
simulate hundreds of thousands of
virtual users concurrently (or even
millions if you have enough hardware
...).

Tsung is developed in Erlang, an
open-source language made by Ericsson
for building robust fault-tolerant
distributed applications.

Also, for your Erlang bit, you might find some hints and tools in the profiling section of the Erlang efficiency guide.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文