常识问题:网络访问时间,缓存访问时间,磁盘访问时间



我编写了一个基于客户机-服务器的分布式文件系统模拟器。现在要计算平均块访问时间,我需要以下内容:

  1. 本地缓存访问时间
  2. 客户端到客户端缓存访问时间(同一网络)
  3. 客户端到服务器缓存访问时间(不同网络)
  4. 客户端到磁盘的访问时间

假设块大小为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

最新更新