如何使用 siege 测试 Magento 的用户登录?

如何使用 siege 测试 Magento 的用户登录?

我有一个在 CentOS 6 (Amazon EC2) 上运行的 Magento 网站。我安装了 Varnish 缓存和一个名为 PageCache 的 FPC 扩展,以使 Varnish 可以与 Magento 配合使用。当我未登录时,我检查了网站的响应标头,发现 Varnish 可以与 Magento 配合使用,并且该网站由 Varnish 缓存。

但是当我使用电子邮件和密码登录时,Varnish 似乎没有缓存 Magento 网站。因此当有用户登录时,响应时间会更长

我需要使用 Siege 测试我的网站。我将通过运行命令测试 1 个用户的 100 个请求:

sudo siege -c1 -r100 http://54.254.183.85/

当我未登录测试 Siege 时,我收到此结果(响应时间 0.01 秒)

在此处输入图片描述

但问题是,当我通过添加以下代码,让登录 Magento 网站的用户测试 Siege 时

login-url = http://54.254.183.85/customer/account/login/ POST [email protected]&pass=pianolangtu2908

然后再次/etc/siege/siegerc运行命令sudo siege -c1 -r100 http://54.254.183.85/,我收到结果

在此处输入图片描述

响应时间仍然是 0.01 秒(非常快)。所以我认为 login-url 配置有问题。当用户登录时,响应时间一定更长,因为 Varnish 在用户登录时不会缓存 Magento 站点。因此,我想问如何使用 Siege 测试用户登录的 Magento?

答案1

我认为你不能使用围攻测试来进行这种类型的测试。

另外,为了有效地对服务器进行压力测试,最好使用可以实际模拟浏览器操作的工具。

您可以使用以下服务http://loader.io,他们确实有一个免费帐户,您可以使用它来查看是否可以测试所需的内容,然后使用付费帐户进行更长时间的测试(这是您需要留意的地方,因为性能会随着时间的推移而下降)。

一个开源选项是https://artillery.io,您需要启动一个云实例(AWS 等)来从那里运行此测试,因为从本地机器运行不是很可靠。

我也正在测试 Magento 2 项目上的非缓存页面。完成后,我会在我的 github 上分享我的 artillery.io 脚本。仍在努力。

相关内容