Sitecore 网站的性能测试

Performance testing of a Sitecore website

我的客户给了我一个 Sitecore 网站来做一些性能 testing.I Sitecore 网站或 Sitecore 本身(我现在正在做)真的没有任何过期。我对性能测试有一些想法一个网站,还从 stackflow 获得了更多信息。但我很想知道测试 Sitecore 网站是否有任何区别?测试 Sitecore 网站的最佳做法是什么?关于性能测试范围的一些信息:

  1. 该网站为学生处理不同类型的注册路径。所以有几个注册路径,所有这些路径都以 customer.There 完成的付款结束,一次可以超过 1 个学生注册(比如 6 个一起)。性能测试将包括所有这些路径的注册。
  2. 很多客户试图同时注册相同的注册路径和不同的注册路径。
  3. 还必须记住,由于这是一个面向客户的网站,因此托管在 Sitecore 中的 images/texts/files 应该很快显示在网站中。

任何帮助是appreciated.Thanks!

通常可以通过三种方式对 Sitecore 进行性能测试。

首先,它基本上只是一个 Web 应用程序,因此您用来测试它们的大多数工具都是有效的。模拟对页面的请求并测量响应时间的 jMeter(或 Windows 等价物)等负载测试工具可以让您了解 Sitecore 应用程序在负载下的工作方式。或者浏览器中的开发人员工具可以向您显示单个请求需要多长时间,以及正在下载哪些资源。两者都可以帮助您了解网站的整体性能水平。

第二个是 Sitecore 包含一些工具,用于测量 Sitecore 本身呈现页面的难度。 "Experience Editor"(用于编辑网页内容的 WYSIWYG 视图)有一个 "debug" 模式,它可以告诉您正在读取多少内容项来呈现页面,哪些 UI 组件正在 运行 以及这些事情需要多长时间。这可以帮助您调整代码查询 Sitecore 数据库的方式,以及缓存组件的方式以提高性能。

第三,任何 ASP.Net 应用程序都可以使用标准 .Net 工具进行低级性能跟踪。 Visual Studio 的性能跟踪工具或 dotTrace 等第 3 方工具都可以让您详细了解 IIS 在各个页面上花费了多长时间,以及代码的哪些部分占用了最多的时间或内存。

我写了一篇关于这个主题的用户组演示文稿:

https://jermdavis.wordpress.com/2017/10/02/measure-if-you-want-to-go-faster/

最近我写了一些您在进行低级性能跟踪时可能会看到的一般模式:

https://jermdavis.wordpress.com/2018/02/05/spotting-common-challenges-when-youre-doing-performance-tracing/

Sitecore 基本上是一个 .NET-based 内容管理系统,因此与其他 Web 应用程序性能测试应该没有任何区别,因此适用相同的方法。

迄今为止我在网络上看到的最好的 entry-level 文档是 Performance Testing Guidance for Web Applications,您可以快速熟悉负载测试的概念、如何实施它、需要哪些指标被考虑等

关于负载测试工具,最自然的选择是Microsoft Visual Studio Load Testing Framework, however it assumes having a relevant license and some C# coding skills. If you don't have any of these you can consider one of free and open source load testing tools

在创建脚本时请记住,每个虚拟用户都需要尽可能接近地代表真实用户,因此请注意 cookie、headers、缓存、思考时间、虚拟用户组的分布等