我编写了一个基于客户机-服务器的分布式文件系统模拟器。现在要计算平均块访问时间,我需要以下内容:
- 本地缓存访问时间
- 客户端到客户端缓存访问时间(同一网络)
- 客户端到服务器缓存访问时间(不同网络)
- 客户端到磁盘的访问时间
假设块大小为64MB…
谁能告诉我大概的时间…链接证明将是感激的…
谢谢。
你为什么不直接测量它呢?
对于网络,使用ping命令测量延迟,并将64MB除以可用带宽作为传播延迟。对于文件使用cat,对于主存使用
public static void main(String[] args) {
byte[] data = new byte[64*1024*1024];
long start = System.nanoTime();
int sum = 0;
for (byte b : data) {
sum += b;
}
long end = System.nanoTime();
System.out.println(new BigDecimal(end - start).movePointLeft(9));
}
在我的机器上生成
0.209555405