我知道Little's Law州(转述):
系统中的平均事物数是事物离开系统的平均速率与每个系统在系统中花费的平均时间的乘积, 或者:
n=x*(r+z);
x-throughput
r-response time
z-think time
r+z - average response time
现在我对编程珍珠的问题提出疑问:
假设系统进行100次磁盘访问以处理事务(尽管某些系统需要的更少,但某些系统每次事务需要数百次磁盘访问)。系统可以处理每个磁盘每小时的事务数量? 假设:磁盘访问需要20毫秒。
以下是此问题的解决方案
我很困惑,因为我不明白这个问题的解决方案 请帮忙忽略排队导致的速度减慢,每个磁盘操作20毫秒(寻道时间)每个事务2秒或每小时1800个事务
答案 0 :(得分:3)
如果你忘记了这个公式,并且认为你可以做某事的速度与你做这件事的时间成反比,那将更直观。例如,如果你需要0.5小时吃比萨饼,你每小时吃2个比萨饼的比萨饼,因为1 / 0.5 = 2。
在这种情况下,费率是每次交易的次数,时间是交易所需的时间。根据问题,一个事务需要100次磁盘访问,每次磁盘访问需要20 ms。因此,每笔交易总共需要2秒。然后费率为每秒1/2 = 0.5次交易。
现在,更正式地说:
每秒的交易率R与交易时间成反比TT(
)R = 1/TT
这种情况下的交易时间TT是:
TT = disk access time * number of disk accesses per transaction =
20 milliseconds * 100 = 2000 milliseconds = 2 seconds
R = 1/2 transactions per second
= 3600/2 transactions per hour
= 1800 transactions per hour