如何识别网络性能问题?

How to identify the network performance issue?

我对我的消息服务器的网络瓶颈问题有点困惑。我可以明显地找到大量网络操作引起的问题,但我不确定为什么以及如何识别它。

目前我们使用 GCP 作为我们的 VM 和 4 core/8G RAM 作为我们的消息服务器。 Redis & Cassandra 在同一个地方的其他服务器上。问题发生在对redis服务器和cassandra服务器的网络操作上。

我需要一次处理 3000 多个请求以将数据保存到 redis 和 12000 多个请求到 cassandra 服务器。

在我将 redis 请求和 cassandra 请求合并为一种批处理请求后,我的任务消耗了我所有的 CPU 能力和 CPU 使用率。惩罚是我必须延迟我的数据保存。

我想知道的是如何知道我系统的网络能力。 1 秒内有多少个请求是合理的任务?。作为我的测试,这显然是网络运行的瓶颈,但我无法证明这一点。我什至不知道如何估计我的系统的合理网络使用情况?是否有一些工具或其他东西可以帮助我确定我的网络问题?或者这只是我的 GCP 系统的错误配置?

谢谢,

埃里克

每个实例中都有一个“监控”标签,您可以在其中检查实例 CPU、网络和 RAM 使用情况等图表值。 但要进一步检查您的实例的性能,您应该使用 StackDriver Logging1 and Monitoring2. It stores a lot of information from the internal servers and the system performance. for that you will need to install the agent in the instance. It also stores information about your Load Balancer3,以防您在 Web 应用程序中使用 StackDriver Logging,这是非常可取的,因为它可以通过智能自动缩放来扩展或缩减您的资源。 但是为了测试您的网络,您需要使用一些第三方工具来使网络过载。有多种工具可以实现这一点,比如 JMeter。