Java 一般知识问题:网络访问时间、缓存访问时间、磁盘访问时间

Java 一般知识问题:网络访问时间、缓存访问时间、磁盘访问时间,java,networking,distributed-caching,distributed-system,Java,Networking,Distributed Caching,Distributed System,我已经编写了一个基于客户机-服务器的分布式文件系统的模拟器。现在,为了计算平均块访问时间,我需要以下内容: 本地缓存访问时间 客户端到客户端缓存访问时间(同一网络) 客户端到服务器缓存访问时间(不同网络) 客户端到磁盘访问时间 假设块大小为64MB 谁能给我大概的时间。。。 链接,以证明它将不胜感激 谢谢。你为什么不直接测量一下呢 对于网络,使用命令测量延迟,并将64MB除以可用带宽,以获得传播延迟。对于文件使用,对于主内存,使用 public static void main(String[]

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

  • 本地缓存访问时间
  • 客户端到客户端缓存访问时间(同一网络)
  • 客户端到服务器缓存访问时间(不同网络)
  • 客户端到磁盘访问时间
  • 假设块大小为64MB

    谁能给我大概的时间。。。 链接,以证明它将不胜感激


    谢谢。

    你为什么不直接测量一下呢

    对于网络,使用命令测量延迟,并将64MB除以可用带宽,以获得传播延迟。对于文件使用,对于主内存,使用

    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


    “本地缓存”访问时间是什么意思?你的意思是从主内存?同样,你所说的“相同网络”与“不同网络”是什么意思?是的,本地缓存=主内存…相同网络与不同网络。。。服务器是一种遥远的存储库…客户端是一个网络中使用它的一组节点。。。假设,谷歌的文件系统。。。所以他们的服务器和客户端是一个组织中的计算机…我不是在实现真正的系统,它是模拟的,所以我可以得到你提到的本地访问时间,但是其他时间呢?