我的应用程序由于其与数据库的聊天特性而面临问题。由于许多I/O操作或数据库调用,完成流程(特别是批处理作业)需要时间。代码优化正在进行,这个过程需要一些时间才能显示出积极的结果。
发布于 2012-11-20 20:21:00
正如@BaileyS建议的那样,一个很好的折衷方案是使用耐用的SSD驱动器。如果您有很多数据,您可以只使用SSD来存储数据库索引,并将数据保存在一个常规驱动器上。
我不建议使用RAM磁盘,除非您经常备份它,或者它上的数据并不重要。
相反,我会尝试最大化您的操作系统的文件缓存。如果您的文件是在RAM中缓存的,那么使用它们就像在RAM磁盘上一样。在Linux上,您可以降低内核的vfs_cache_pressure,这意味着内核将更加努力地将缓存的文件保存在RAM中。并将vm.swappiness设置为100,以便系统能够更积极地交换未使用的内存页,从而使内存可用于缓存。这可以大大加快速度。请参阅我是否可以将我的Linux系统配置为更积极的文件系统缓存?
发布于 2012-11-20 19:44:55
假设大部分时间在等待I/O的数据库中,RAM磁盘肯定会有所帮助(但持久性已经消失)。但是为什么不简单地选择像h2这样的内存数据库,甚至可以采用嵌入式模式来减少网络延迟呢?
https://stackoverflow.com/questions/13480842
复制相似问题