容量规划是一个相当详细和广泛的领域。您需要接受具有“理论基线 > 负载测试 > 调整和优化”方法的迭代模型。
理论
第一步是确定业务需求:预计峰值使用量有多少用户?请记住——这些数字通常有一定的误差。
例如,假设所有高峰流量(在最坏的情况下)将超过一天中的 4 小时。因此,如果网站预计每天有 10 万次点击,我们不会将其划分为 24 小时,而是超过 4 小时。所以我的网站现在需要支持每小时 25K 次点击的峰值流量。
这分解为每分钟 417 次点击,或每秒 7 次点击。这仅在前端。
添加内部事务的数量,例如数据库操作、每个用户的任何文件 i/o、可能在系统内运行的任何批处理作业、报告等。
统计所有这些,以获得您的系统需要支持的每秒、每分钟等事务数。
当您有诸如“平均响应时间必须为 3 秒等”之类的要求时,这会变得更加复杂,这意味着您必须考虑网络延迟/防火墙/代理等
最后 - 在选择硬件时,请查看 Sun、HP、IBM、Windows 等每个制造商发布的数据表。这些数据表详细说明了测试条件下每秒的最大交易量。我们通常在真实条件下接受 50% 的峰值 :)
但最终硬件的选择通常是一个商业决定。
您还需要在每一层至少保留 2 台服务器:web / app / even db 用于故障转移集群。
负载测试
建议在整个项目生命周期和发布后有一个单独的参考测试环境,这样您就可以回来对应用运行专门的性能测试。将此扩展为较小的生产版本,因此如果 Prod 有 4 台服务器而 Ref 有 1 台,那么您测试 25% 的峰值事务等。
调整和优化
人们常常将一些昂贵的硬件放在一起,并期望它们都能完美运行。您需要针对各种参数(例如 TCP 超时等)调整硬件和操作系统 - 这些是由软件供应商发布的,并且必须在软件完成后完成。在 Ref 环境中设置这些调整参数,进行测试,然后决定需要将哪些参数转移到生产环境中。