当我查看许多数据库支持的企业解决方案的硬件需求时,我发现对应用程序服务器(操作系统、处理器、RAM、磁盘空间等)、数据库服务器(版本、RAM 等)和客户端的需求。
我找不到对网络速度或架构(交换机速度、SAN IOPS、RIOPS 等)的要求。我不希望我的应用程序带来糟糕的用户体验,而是由客户端环境中的网络延迟引起的。
在向客户发送所需的硬件要求规范时,您如何注意这些方面的要求?网络性能的相关衡量标准是什么?(或者它只是需要 IOPS= x)
当我查看许多数据库支持的企业解决方案的硬件需求时,我发现对应用程序服务器(操作系统、处理器、RAM、磁盘空间等)、数据库服务器(版本、RAM 等)和客户端的需求。
我找不到对网络速度或架构(交换机速度、SAN IOPS、RIOPS 等)的要求。我不希望我的应用程序带来糟糕的用户体验,而是由客户端环境中的网络延迟引起的。
在向客户发送所需的硬件要求规范时,您如何注意这些方面的要求?网络性能的相关衡量标准是什么?(或者它只是需要 IOPS= x)
通常,需求的详细程度不止一个级别。例如,您通常会将详细程度划分为从 0(粗略的使命陈述)到 4(技术细节)的范围。
因此,如果您指定您的 SAN 应以至少 x 的带宽容量运行,那么在该规模上这将是一个很大的数字。确保将您的主要想法(系统应具有响应性,以防止客户变得不耐烦并转向竞争对手......)分解为更可衡量的目标(如上所述)。
Stephen Withall 在他的“软件需求模式”一书中写下了很好的例子。见第 9 章,第 191 页 ff.,它并不贵。他将其分解为关于响应时间、吞吐量、动态容量、静态容量和可用性的建议,我引用。
当然,那是软件!因为基本上,最好从定义整个系统在特定情况下断言的内容开始:我们什么时候开始测量?(例如,当客户端请求进入网络网关时);我们假设超出我们影响的平均网络延迟是多少?我们测量了多少不同的客户以及这些客户联系了多少不同的自治系统?他们究竟执行什么样的任务,以及对什么样的资源要求特别高?我们什么时候停下来测量?我们真的对所有硬件都进行了完整的系统测试吗?我们将在运行时提供哪些类型的网络监控?等等
这应该比您只为传输速率/ IOPS 之类的单位分配一个值更能帮助您,这甚至可能无法解决您的问题。如果您以后发现网络硬件的性能低于您的预期,则更换起来相当容易。特别是如果您将托管服务交给外部合作伙伴。然而,该软件并不容易更换。
请务必区分您必须满足的要求或约束,以及您提供的技术解决方案的实际组成部分。可能还有更多解决方案。速度是一项要求(虽然是一个模糊的要求)。硬件架构是一种解决方案。