LINUX.ORG.RU

как захостить файл в памяти?


0

0

есть файл 100-200 мб который будут постоянно качать много юзеров по http

можно его как то "захостить" полностью в память, что бы с минимальным обращением к диску прямо оттуда его раздавал httpd

и какой httpd для этого подойдет?

заранее спасибо

anonymous

Ну вот такая дикая идея -- замонтируй раздел /tmp в shared mem, скопируй свой файл в /tmp и оттуда раздавай. Сервер подойдет любой, разумеется.

Uncle_Theodore ★★
()
Ответ на: комментарий от Uncle_Theodore

>Сервер подойдет любой, разумеется.

Наверное лучше лайтиподобное что-то. Апача не очень хорошо статику отдает.

anonymous
()

В апаче есть mod_cache, который умеет в оперативной памяти кешировать.

rab_boziy
()

помнится thttpd отжирает кучу памяти при скачивании больших файлов. есть подозрение, что он загружает их в RAM

maloi ★★★★★
()
Ответ на: комментарий от maloi

нашел как это на nginx делать!

Calling static files from server memory

You can use libmemcached to store static files into server memory (memcached): Code: # memcp /var/www/html/logo.jpg --servers=127.0.0.1:11211 Then, in nginx.conf, simply call them with this directive: Code: if ($uri ~= "([^/]+$)") { set $memcached_key $1; } memcached_pass 127.0.0.1:11211; Personally, I don't see the need for this since nginx is such a fast server for static files. However, I simply wanted to show you how you can make good usage of passing variables/values directly from memory.

// оп

anonymous
()
Ответ на: комментарий от anonymous

Calling static files from server memory

You can use libmemcached to store static files into server memory (memcached):
Code:
# memcp /var/www/html/logo.jpg --servers=127.0.0.1:11211
Then, in nginx.conf, simply call them with this directive:
Code:
if ($uri ~= "([^/]+$)") {
	set $memcached_key $1;
}
memcached_pass 127.0.0.1:11211;
Personally, I don't see the need for this since nginx is such a fast server for static files.
However, I simply wanted to show you how you can make good usage of passing variables/values directly from memory.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.