计算多线程应用程序中的 CPU、内存、网络使用情况

问题描述

我想就如何为使用多线程每 60 秒执行一次操作的应用程序计算 vcpu、内存和网络使用情况提供一些指导。

假设我有一个创建多个线程的程序,每个线程每 60 秒执行一次对资源 (ip) 的 ping。让我们假设 1,000 ips

代码

Class Thread

method start_thread(ip):
  while true
    if ping(ip) is down
      send alert()
    wait(60 sec)

如何估计 vcpu、内存和网络消耗,以在横向扩展配置中安全地调整应用程序的大小?

谢谢

解决方法

尝试多种配置、收集性能指标并进行评估。除此之外,这是一个疯狂的猜测。线程可能不会消耗太多 CPU(大部分时间都花在阻塞等待网络 IO 上),但如果您想要 1,000 个线程,这可能会给系统带来很大压力并需要更多 RAM。