问题描述
我想就如何为使用多线程每 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。