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

时间:2018-07-03 06:52:12

标签: php apache performance performance-testing load-testing

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

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

为此,在Linux平台上是否有任何开源工具。还是有(免费)可用的网站可以进行所有这些测试。 我们更加关注负载测试,例如,我们希望同时从1000个用户请求我们的网站,并希望检查客户端和服务器端不同的性能指标。

2 个答案:

答案 0 :(得分:0)

您可以在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来创建测试逻辑,这可能会更快,更容易。

这两个工具均提供记录和重放功能,因此您将能够使用浏览器构建测试方案框架。

答案 1 :(得分:0)

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

Apache HTTP server benchmarking tool

  

ab是用于对Apache超文本传输​​协议(HTTP)服务器进行基准测试的工具。它旨在使您对当前的Apache安装方式有一个印象。这尤其向您显示Apache安装每秒能够处理多少个请求。

我们来看一个例子:

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

通过发出上述命令,您将同时连接100个连接而打http://example.com/,直到满足1万个请求为止。

这里有另一本教程,介绍如何使用ab

Stress-Test Your PHP App With ApacheBench

其他一些有用的工具是:

  1. Apache JMeter
  2. httperf

如果您想更详细地查看php对象和所有其他内容,建议您检查blackfire。据我所知,他们为本地测试提供了一个免费版本,并且只有一个应用程序。但是我不认为您现在需要这个。

对于您的front end,我建议您使用一组工具来帮助您查看网页在不同设备上的效果:

  1. Lighthouse
  2. PageSpeed Insights
  3. Pingdom