我正在使用 mod 安全规则https://github.com/SpiderLabs/owasp-modsecurity-crs来清理用户输入数据。我在将用户输入与 mod 安全规则正则表达式匹配时面临 cpu 启动和延迟。总体而言,它包含 500 多个正则表达式来检查不同类型的攻击(xss、badrobots、generic 和 sql)。对于每个请求,我都会检查所有参数并检查所有这 500 个正则表达式。我Matcher.find
用来检查参数。在这种情况下,一些参数属于无限循环,我使用以下技术解决了这个问题。
清理用户请求大约需要 500 毫秒,并且 cpu % 会猛增。我使用 Visualvm.java.net 和我的测试套件运行器进行了分析。
Cpu 配置文件输出
请帮我降低 CPU 使用率和平均负载?