我需要提供大量来自VPS的非常小的静态文件(例如,100万,~1KB)。我目前最喜欢的方法是Nginx,但我主要关心的是访问速度慢的VPS磁盘。
我是否可以使用一种方法从本地内存服务这些文件,而不是进入磁盘?我知道操作系统(本例中的Debian)将“热”文件保存在内存中,但我担心这将很难监控或影响。也许有办法让Nginx从记忆中得到服务?还是其他方法呢?
发布于 2012-10-30 09:51:09
您可以将它们所在的文件夹作为tmpfs分区挂载到内存中。
例如:-t tmpfs -o size=128m tmpfs /mnt/tmp
发布于 2012-10-30 09:57:34
发布于 2012-10-30 10:07:03
我不想做相反的事,但不要这样做。假设您使用的是Linux,操作系统在任何情况下都会在内存中缓存频繁访问的文件,而这些文件并不是操作系统所迫切需要的。如果您试图对此过程进行事后猜测(如Jeroen所建议的那样使用ramdisk ),那么您需要在内存中存储的文件比内核可能保存的文件更多,这要么是正确的,要么是错误的。
如果您是对的,那么您所做的就是VM系统将为您做些什么。
如果您错了,那么将取代您的文件的其他内存块将被刷新为交换,从交换区中检索这些页面将给您的服务器带来比从FS检索文件更多的性能负载。
Linux中的VM代码是紧密而密集地调优的。它并不总是正确的,但它往往是正确的,如此之大的一小部分时间,你需要一个很好的理由来覆盖它。
https://serverfault.com/questions/443624
复制相似问题