有两个不同的问题:
1.需求:您正在寻找哪些统计数据?
2.技术:如何测试以查看自己是否达到了设定的目标?
关于第一点:
在理想情况下,您将能够分析您的目标客户范围并了解有多少人会同时使用您的系统。 然后,您将了解到其中有多少人实际上会在您的网站上触发响应(同时),并从中了解您需要同时处理多少请求。
您可能还想知道的另一个问题是可以预期的数据大小。 如果您有100万用户,并且100个用户中有1个上传视频,则会在数据库中产生10,000个视频。 因此,对于这个问题的答案再次取决于用户数量和他们的行为。
可能可以进行某种市场研究并得出数字,但精益创业方法论指出,通常您不知道这些问题的答案,您只是猜测,通常您猜错了。
因此,假设您无法真正了解任何事情,您应该了解如何使您的系统可扩展,以便让您支持任何数量的并发用户和任何数据大小。
但是,您可能想要了解有关您当前使用的基础架构的统计信息。 这就引出了第二点。
JMeter是一种用于测试并发负载的好工具,您没有说明您的服务器使用了什么语言,但是JMeter建议使用Java,在这种情况下,除了其他所有内容之外,您还应该了解内存限制和垃圾回收时间。
假设使用无状态(或至少会话粘性)分布式系统,您将希望测试单个“典型”服务器以获得给定数量的并发请求的响应时间和故障率。 从小开始,然后随着结果仍然可接受而增加(即,对于100个并发请求,50ms的响应时间和0个失败的响应是可以接受的,1000个并发请求会给您带来300ms的延迟和5个失败的响应,而在5000个并发请求时,您将达到500ms和15个失败的响应,这是您认为可以接受的最大延迟和最大故障数量)
您可能想要更改上述的“典型”并查看不同基础架构的结果如何。今天云服务的优秀之处在于,您可以轻松地转到EC2并获得任何类型的基础架构,而只需很少的投资即可测试您的结果,以便您知道需要购买什么(假设您不想留在EC2上托管)。 您还可以使用EC2托管JMeter实例(我曾经在一篇文章中读到过,但不记得是在哪里了,请通过谷歌搜索),并且您可以使用少于200美元/测试发出许多并发请求。