Vij*_*dra 11 nginx cache memcache
我想将 Nginx 设置为我的 Web 服务器。我想将图像文件缓存在内存 (RAM) 而不是磁盘中。我正在提供一个小页面,并希望始终从 RAM 提供一些图像。我不希望为此使用 Varnish(或任何其他此类工具),因为我相信 Nginx 能够将内容缓存到 RAM 中。我不确定如何为此配置 Nginx?我确实尝试了一些组合,但没有奏效。Nginx 一直使用磁盘来获取图像。
例如,当我尝试使用 Apache 基准测试使用以下命令进行测试时:
ab -c 500 -n 1000 http://localhost/banner.jpg
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
socket: Too many open files (24)
Run Code Online (Sandbox Code Playgroud)
我想这意味着 Nginx 试图从磁盘同时打开太多文件,而操作系统不允许此操作。任何人都可以建议我正确的配置吗?
如果它是静态内容,则默认情况下它将缓存在内存中(除非没有任何内存),只是不是由 nginx 缓存,而是由操作系统缓存 - 所有留在磁盘端的将是 stat()。
如果您想要 100% 内存解决方案,您只需配置 ramdisk 并从那里提供数据。
小智 9
一旦服务器从磁盘读取文件,它就会被缓存到ram(如果你没有ram,将被不同的文件替换),问题是你的帐户限制,你不能打开这么多文件(运行'ulimit -a'),
如果你想改变这个限制 - 阅读 /etc/security/limits.conf
所以我知道这真的很旧,但是,这里是。
| 归档时间: |
|
| 查看次数: |
24507 次 |
| 最近记录: |