我想设置nginx作为我的networking服务器。 我想有图像文件caching在内存(RAM),而不是磁盘。 我正在服务一个小页面,并希望从RAM中总是提供几个图像。 我不希望使用清漆(或任何其他这样的工具),因为我相信nginx有能力caching内容到RAM中。 我不知道如何configurationnginx呢? 我曾尝试过几种组合,但都没有奏效。 nginx一直使用磁盘来获取图像。
例如,当我尝试使用以下命令testingapache基准testing:
ab -c 500 -n 1000 http://localhost/banner.jpg
我得到以下错误:
socket: Too many open files (24)
我想这意味着nginx试图从磁盘同时打开许多文件,操作系统不允许这个操作。 任何人都可以请build议我一个正确的configuration?
一旦服务器从磁盘读取文件,它将被caching到内存(如果您不在内存中,将被replace为不同的文件),问题是与您的帐户限制,您不能打开这么多的文件(运行'ulimit -a'),
如果你想改变这个限制 – 阅读关于/etc/security/limits.conf
如果它是静态内容,那么默认情况下它将被caching在内存中(除非没有剩余内存),而不是nginx,但是操作系统 – 所有将在磁盘上留下的数据将是stat()。
如果你想100%的内存解决scheme,你可以configurationramdisk并从那里提供数据。
所以我知道这是非常古老的,但是,在这里。
在ram中caching的文件仍然是à文件!
尝试使用nginx的Memcachedcaching模块。 但是,还是有1000个并发连接是巨大的,你认为是你的情况吗?