11.11.1。进行负载测试的注意事项¶
- 在intra-mart Accel Platform中进行负载测试的观点和注意事项如下。
项目
11.11.1.1. 设置负载测试目的和性能目标值¶
首先,设置负载测试的目的和性能目标值(什么样的环境以及需要多少性能)。在等效于生产环境的验证环境中或在可以通过模拟生产环境的一部分结果来比较生产环境中性能的环境中执行负载测试时,没有问题。如果您在构建的环境中执行负载测试,则检查负载测试的结果将不会成为生产环境中性能值的参考。在考虑负载测试环境及其执行内容之前,必须弄清负载测试的目的和性能目标值。
11.11.1.2. 执行负载测试的观点¶
您需要从什么角度阐明要调查的内容。观点的示例包括:
- 服务器端响应
- 客户端响应
- 服务器端内存消耗
- 自制应用程序的性能
- 加载到数据库
另外,确认一次负载验证中提取的所有视点甚至需要时间来获取数据。特别是,使用开源负载测试工具(例如JMeter)与负载测试同时获取服务器资源状态非常困难。注意,数据采集后的数据分析需要时间和精力。
11.11.1.3. 多路访问场景¶
负载测试方案的常见情况是创建并执行同时执行所有请求的方案。在实际操作中不太可能发生此类负载。即使根据在上述情况下获得的数值执行大小调整,实际操作也将导致服务器规格过高,或者相反,不会发生响应。在创建方案时,有必要通过合并同步时间(思考时间延迟)等来考虑方案的创建和执行,以便除了多路访问视点之外,还可以再现接近实际操作的负载。
11.11.1.4. 每个设置值,例如线程数¶
无需设置每个设置值,例如Resin和intra-mart的Thread数都非常大。在考虑了预期的用户数量之后设置值很重要。设置值经设置值就无法完成,需要多次变更设置值进行负荷试验,以根据环境求出最佳值。
11.11.1.5. 调整GC¶
考虑到要放置的区域,例如使用G1GC或ConcurrentGC,找到正确的值是一项非常困难的任务。特别是,对于WebSphere,更改GC策略可以极大地改变内存的使用方式。使用VisualVM等,需要对GC日志进行分析和检查。
11.11.1.6. 设置缓存¶
如果不考虑内存,则基于数字的缓存比基于缓存的LRU缓存更有效。
11.11.1.7. 树脂本地功能的编译¶
树脂使用一些本机功能来优化File / IO和Socket / IO。在Linux环境中,请使用“ ./configure –prefix =`pwd` && make && sudo make install”进行安装。resin.properties中的“ sendfile”和“ tcp_cork”设置是本机设置。
11.11.1.8. 检查GZip压缩¶
构造和操作Web服务器时,请考虑GZip压缩。在负载测试中执行GZip压缩时,将“ Accept-Encoding:gzip,deflate”放在应用负载的客户端发送的请求的标头中。
11.11.1.9. 将静态文件放在WEB服务器上,而不是AP服务器上¶
可以使用Resin处理静态文件,但是如果执行处理,则将消耗用于静态文件处理的Thread,并且有可能无法执行最初所需的处理。除非它是一个小型站点,否则建议将静态文件放置在Web服务器上。我们建议将Apache HTTP Server用于WEB服务器。
11.11.1.10. 在数据库端调优¶
调整数据库非常重要。调整必须始终作为负载测试执行。如果不执行调整(例如,仅在安装PostgreSQL之后,shared_buffers才保持默认设置),则在月底进行处理时,会出现性能问题。还计划部署设备服务器,例如Oracle数据库设备(ODA)和SQL Server SSD设备 。
11.11.1.11。PreparedStatementCache¶
完成安装Tenant环境,设置适当的值。树脂准备语句缓存由LRU管理,因此需要进行某种程度的设置。
11.11.1.12. 使用VisualVM等进行性能分析¶
除了GC调整外,还使用VisualVM等进行性能分析,以确认CPU使用时间,方法调用次数等。
11.11.1.13. 重复负载测试¶
单个负载测试不可能给出预期的响应。有必要根据结果考虑如何改善响应等,并重复设置并重试负载测试。根据CPU的处理速度,不仅可能会发生内存和大小的变化,还会出现网络流量等的影响。此外,还有各种因素,例如磁盘IO的影响,因此从各种角度进行验证和分析非常重要。
注解
对于上述情况,您还可以使用我们的咨询服务。 详细内容请联系您的销售代表。