如何从两端进行 PHP 网站负载测试

11

我们使用PHP为小型服务开发了一个网站。在生产之前,我们需要从服务器端(即Apache)和客户端进行性能和负载测试。

对于客户端,我想知道整体平均响应时间以及每个对象的响应时间等。对于后端(Apache Web服务器),我想知道它可以处理多少个请求(客户端)才会开始降低性能。

由于我们在Linux平台上,是否有任何开源工具可用于此目的?或者是否有任何免费提供所有这些测试功能的网站可用? 我们更关心负载测试,在那里我们希望同时向我们的网站请求1000个用户(例如),并希望检查客户端和服务器端的不同性能指标。


Apache基准测试,JMeter - NobbyNobbs
2个回答

14

由于您正在运行Apache,因此可以使用 ab 来对应用程序的服务器端进行压力测试。

Apache HTTP服务器基准测试工具

ab 是一个用于测试Apache超文本传输协议(HTTP)服务器性能的工具。它旨在给您展示当前Apache安装的性能表现。这尤其显示了您的Apache安装每秒可以提供多少个请求。

让我们看一个例子:

ab -k -c 100 -n 10000 example.com/

通过上述命令,您将使用100个同时连接向http://example.com/发送请求,直到达到1万个请求。
这里有另一个教程,介绍如何使用ab 使用ApacheBench对PHP应用进行压力测试 一些其他有用的工具包括:
  1. Apache JMeter
  2. httperf
如果您想详细查看php对象和所有相关内容,我建议您检查blackfire。据我所知,他们提供免费版本进行本地测试和只有一个应用程序。但我不认为您现在需要这个。
对于您的前端,我建议您使用一组工具来查看您的页面在不同设备上的性能:
  1. Lighthouse
  2. PageSpeed Insights
  3. Pingdom

1

您可以在http://www.opensourcetesting.org/category/testing-tools-overview/performance/?menu-page=overview找到免费和开源的负载测试工具列表,目前有59个(还在不断增加中)。

Open Source Load Testing Tools: Which One Should You Use?文章中,您可以找到最先进的跨平台开源负载测试工具的缩小列表。该文章还提供了功能比较矩阵、示例脚本和报告。

考虑到您的应用程序是用PHP编写的,我认为您可能对其他编程语言没有太多专业知识,因此最明显的选择是:

  • Tsung,您可以使用XML文件创建负载测试
  • Apache JMeter,它也将测试脚本存储在XML格式中,但是您可以使用GUI进行测试逻辑创建,这可能更快捷和容易。

这两个工具都提供了录制和回放功能,因此您将能够使用浏览器构建测试场景骨架。


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