步骤 0. 创建应用程序。不可能像您从“纸质”规范中描述的那样判断多计算机系统的真实世界性能...您需要尝试一下,看看什么是最大的减速...这通常是物理 IO,但是不总是...
步骤 1. 在隔离环境中使用样本数据集进行概要分析。这是一个总指标。您不是试图隔离需要时间的因素,只是衡量运行规则所需的总时间。
隔离环境是什么意思?您希望在机器之间使用相同类型的网络硬件,但不允许该网段上的任何其他流量。这在这一点上引入了太多变量。
简介是什么意思?使用当前的硬件,测量在以下情况下完成需要多长时间。 编写一个程序来自动生成数据。
场景 1. 1,000 条最简单的规则。
场景 2。您可以合理地期望用户输入的 1,000 条最复杂的规则。
场景 3 和 4。10,000 最简单和最复杂。
场景 5 和 6。25,000 最简单和最复杂
场景 7 和 8. 50,000 最简单和最复杂
场景 9 和 10。100,000 最简单和最复杂
步骤 2. Anaylze 数据。
查看完成时间是否有趋势。弄清楚它们是否似乎与规则的数量密切相关,或者复杂性是否也考虑在内……我认为会的。
制定一条趋势线,显示如果有 200,000 条和 500,000 条规则,您预计需要多长时间。在 200,000 处再运行一次。查看趋势线是否正确,如果不正确,请修改您开发趋势线的方法。
步骤 3. 在系统处理 20,000 个规则集时测量数据库和网络活动。看看是否有更多的规则发生更多的活动。如果是这样,您越加快进出 SQL 服务器的吞吐量,它运行的速度就越快。
如果这些“相对较低”,那么 CPU 和 RAM 速度可能是您想要增强所请求的机器规格的地方......
当然,如果所有这些测试的成本要比购买最强大的服务器硬件成本更高,那么只需量化测试所花费的时间成本与购买最好的服务器并完成它并仅调整您的应用程序和您控制以提高性能的 SQL...