如何对WordPress安装进行基准测试?[关闭]


14

我正在尝试收集一些基准测试数据,以确定我对WordPress的优化的合理程度。我在“高流量提示”上找到了此页面,但其中不包含任何数据。有没有可以对WordPress进行基准测试的工具?它不仅可以很好地抵御流量,还可以处理诸如每小时执行X个帖子,每分钟执行X条评论以及WordPress其他正常使用案例时的缓存公平性等问题。

作为记录,我针对安装运行了Siege和Blitz.io,但这只是您的站点可以很好地缓存和处理/传播请求的方式。如果那是唯一可以持续产生的唯一度量(也许req / s是唯一可行的方法),那很好。如果还有其他工具可以显示在不同使用情况下可以维持多少请求/秒(必须在10分钟内重新生成缓存,如果它在刷新时服务,或者清除缓存然后刷新缓存,将产生很大的影响)。


虽然一般来说这不是特定于WordPress的问题,但我发现了有关特定/有趣的帖子/评论性能的部分内容。
拉斯特

@Rarst我已经扩大了这些,因为我知道如何标杆服务器软件
马可Ceppi

每秒请求数是测试站点总体性能的重要基准数据。我还将研究缓存效率(命中率与未命中率),页面速度(developers.google.com/speed/pagespeed),以及数据库,网络和其他可能使用的服务(例如memcached)的各种吞吐量统计信息。
xentek

1
你还应该测量并减少延迟:igvita.com/2012/07/19/...
xentek

Answers:


7

攻城战

针对实际的帖子/页面(理论上在第一个请求之后的每个请求,将击中页面缓存,APC,清漆等)和404(例如,随机生成的字符串)进行测试,这将需要对每个页面进行数据库查询击中。

一些有用的标志:

  • -b 基准(不要在请求之间等待)
  • -c N 其中N是要发出的并发请求数
  • -t N其中N是30S运行测试的时间(例如)

如果有帮助,此脚本将生成随机字符串(404s),可用于生成对将生成404s的帖子/页面的请求。



2

如果您喜欢攻城,您会喜欢机枪的蜜蜂

带机枪的蜜蜂将启动1-N EC2图像,然后从多个服务器进行类似围攻的攻击,从而更好地模拟互联网流量。需要一个Amazon EC2帐户并使用python。


1
孤独的链接被认为是一个糟糕的答案,因为它本身毫无意义,并且不能保证目标资源在将来仍然有效。请尝试至少包含您要链接的信息的摘要。
拉斯特

2

您也可以尝试使用外部服务,例如Load Impact:http//loadimpact.com/

我们已经多次使用他们的免费服务进行WordPress负载测试。

不过,在插件方面,有很多插件可以对内存和CPU使用情况进行不同类型的报告,例如(与页面负载有关),我希望有更多的包含所有内容的插件可以提供有意义的某种类型的报告。指标。


+1(对于负载影响)。我已经使用过它并且对它有积极的经验。但是,它不是“多合一”工具。它也没有解决问题中提到的所有基准测试方案(由Marco提出)。它是可以与其他工具组合以运行基准测试的工具之一。
Pothi Kalimuthu 2012年

0

如果您使用Apache,一种简单的方法是仅使用apachebench中的构建(它应该在您的apache/bin文件夹中)。

基本上,您想使用各种设置来测量请求/并发性,关闭缓存并运行一些测试,然后打开APC,优化并比较数据。

不过,这实际上不是与WordPress相关的问题。

ps。使用gnuplot格式(-g)将结果记录到文件中以图形化方式显示它们,也不要在不通知它们的情况下在活动主机上执行此操作。


0

但是,使用Siege / Apachebench测试基本WP性能非常简单,实际上,它只是测试您正在使用的任何缓存插件,或者(更有可能)测试您的Web服务器的优化程度。

您可以使用Selenium之类的工具开始构建更现实的测试,该工具允许您编写脚本以创建新的帖子和评论,并与相当长的ApacheBench / Siege测试结合使用。

另外,根据您网站的性质,登录的用户可能会占您流量的很大一部分。通常,登录的用户不会被缓存插件所缓存(或者如果确实被缓存,则会获得每个用户的缓存页面集),这意味着他们直接访问了WP和数据库。同样,可以使用Selenium(或类似的东西)来模拟登录流量,尽管您可能需要使用selenium-grid来模拟大量登录用户(我自己没有尝试过,但这是我的尝试。加长尝试的清单)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.