首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VPS上服务的快速小静态文件--避免磁盘

在VPS上服务的快速小静态文件--避免磁盘
EN

Server Fault用户
提问于 2012-10-30 09:21:50
回答 4查看 819关注 0票数 0

我需要提供大量来自VPS的非常小的静态文件(例如,100万,~1KB)。我目前最喜欢的方法是Nginx,但我主要关心的是访问速度慢的VPS磁盘。

我是否可以使用一种方法从本地内存服务这些文件,而不是进入磁盘?我知道操作系统(本例中的Debian)将“热”文件保存在内存中,但我担心这将很难监控或影响。也许有办法让Nginx从记忆中得到服务?还是其他方法呢?

EN

回答 4

Server Fault用户

发布于 2012-10-30 09:51:09

您可以将它们所在的文件夹作为tmpfs分区挂载到内存中。

例如:-t tmpfs -o size=128m tmpfs /mnt/tmp

票数 2
EN

Server Fault用户

发布于 2012-10-30 09:57:34

Ramdisk是个好主意。您还可以获得rad,并尝试vmtouch将目录锁定到文件系统缓存中。它更优雅,因为它可以去线程化,并且消除了非持久性RAM磁盘的问题。

代码语言:javascript
复制
Lock all files in a directory into physical memory:
vmtouch -dl /var/www/html/directory-of-small-static-files/

其他例子...

票数 1
EN

Server Fault用户

发布于 2012-10-30 10:07:03

我不想做相反的事,但不要这样做。假设您使用的是Linux,操作系统在任何情况下都会在内存中缓存频繁访问的文件,而这些文件并不是操作系统所迫切需要的。如果您试图对此过程进行事后猜测(如Jeroen所建议的那样使用ramdisk ),那么您需要在内存中存储的文件比内核可能保存的文件更多,这要么是正确的,要么是错误的。

如果您是对的,那么您所做的就是VM系统将为您做些什么。

如果您错了,那么将取代您的文件的其他内存块将被刷新为交换,从交换区中检索这些页面将给您的服务器带来比从FS检索文件更多的性能负载。

Linux中的VM代码是紧密而密集地调优的。它并不总是正确的,但它往往是正确的,如此之大的一小部分时间,你需要一个很好的理由来覆盖它。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/443624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档