Java 一般知识问题:网络访问时间、缓存访问时间、磁盘访问时间
我已经编写了一个基于客户机-服务器的分布式文件系统的模拟器。现在,为了计算平均块访问时间,我需要以下内容:Java 一般知识问题:网络访问时间、缓存访问时间、磁盘访问时间,java,networking,distributed-caching,distributed-system,Java,Networking,Distributed Caching,Distributed System,我已经编写了一个基于客户机-服务器的分布式文件系统的模拟器。现在,为了计算平均块访问时间,我需要以下内容: 本地缓存访问时间 客户端到客户端缓存访问时间(同一网络) 客户端到服务器缓存访问时间(不同网络) 客户端到磁盘访问时间 假设块大小为64MB 谁能给我大概的时间。。。 链接,以证明它将不胜感激 谢谢。你为什么不直接测量一下呢 对于网络,使用命令测量延迟,并将64MB除以可用带宽,以获得传播延迟。对于文件使用,对于主内存,使用 public static void main(String[]
谢谢。你为什么不直接测量一下呢 对于网络,使用命令测量延迟,并将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
“本地缓存”访问时间是什么意思?你的意思是从主内存?同样,你所说的“相同网络”与“不同网络”是什么意思?是的,本地缓存=主内存…相同网络与不同网络。。。服务器是一种遥远的存储库…客户端是一个网络中使用它的一组节点。。。假设,谷歌的文件系统。。。所以他们的服务器和客户端是一个组织中的计算机…我不是在实现真正的系统,它是模拟的,所以我可以得到你提到的本地访问时间,但是其他时间呢?