这是一个软件设计问题
我曾经按照以下速度规则工作
cache memory > memory > disk > network
Run Code Online (Sandbox Code Playgroud)
每一步都是前一步的 5-10 倍(例如,高速缓存比主存储器快 10 倍)。
现在,似乎千兆以太网的延迟比本地磁盘少。因此,也许读取大型远程内存数据库的操作比本地磁盘读取快。对于像我这样的老前辈来说,这感觉就像异端邪说。(我只是花了一些时间在磁盘上构建本地缓存以避免必须进行网络往返 - 因此我的问题)
有人在这方面有任何经验/数字/建议吗?
是的,我知道唯一真正的方法是构建和测量,但我想知道一般规则。
编辑:
这是来自顶级答案的有趣数据:
同一数据中心内的往返 500,000 ns
磁盘寻道 10,000,000 ns
这对我来说是一个冲击;我的心智模型是网络往返本质上是缓慢的。它不是 - 它比磁盘“往返”快 10 倍。
Jeff attwood 在http://blog.codinghorror.com/the-infinite-space-between-words/上发布了这个很好的博客