我需要回答以下问题:
服务器需要为每个文件请求执行15毫秒的工作。如果文件不在缓存中,则必须访问硬盘,并且线程休眠75ms。这种情况发生在1/3的案例中。
a) 1个线程的服务器每秒可以处理多少个请求?->15 ms + 1/3 * 75 ms =每个请求40 ms -> 1000/40 ms = 25个请求/秒
b)有多少是多线程的?
有没有解决这个问题的公式?对于2个线程,我每秒收到40.625个请求:平均25ms暂停-> 25/40 = 0.625 -> 25 * 1.625 =每秒40.625个请求
如果有3个或更多的线程呢?
发布于 2010-11-18 17:51:04
我知道我在做你的作业,但这很有趣,因为问题陈述是有缺陷的。它不能按原样回答,因为缺少一条重要的信息:机器可用内核的数量。运行比你拥有的核心更多的线程不会提高吞吐量。假设有J个作业、T个线程和C个内核,那么花费在这些线程上的时间是
时间=J x 15毫秒/分钟(T,C) +J x 75毫秒/3
求解每秒J:
分钟速率= 1000 / (15 /
(T,C) + 25)
https://stackoverflow.com/questions/4217378
复制