计算多线程应用程序中的 CPU、内存、网络使用情况
Posted
技术标签:
【中文标题】计算多线程应用程序中的 CPU、内存、网络使用情况【英文标题】:calculate CPU, Memory, Network usage in a multithreaded application 【发布时间】:2021-05-03 21:41:45 【问题描述】:我想就如何计算使用多线程每 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、内存和网络消耗以安全地调整横向扩展配置中的应用程序?
谢谢
【问题讨论】:
我想你需要模拟真实的 API 并记录所有请求,对于 CPU 来说这很困难,因为在调试缓存时,内存延迟与 prod 中的不同 【参考方案1】:尝试多种配置、收集性能指标并进行评估。除此之外,这是一个疯狂的猜测。线程可能不会消耗太多 CPU(大部分时间都花在等待网络 IO 上),但如果您想要 1,000 个线程,这可能会给系统带来很大压力并需要更多 RAM。
【讨论】:
以上是关于计算多线程应用程序中的 CPU、内存、网络使用情况的主要内容,如果未能解决你的问题,请参考以下文章