RE: Ограничение на количество тяжёлых процессов.

Богун Дмитрий vugluskr на vugluskr.org.ua
Чт Окт 14 14:16:08 MSD 2010


В Чтв, 14/10/2010 в 13:54 +0400, Хаустов Алексей пишет:
> > > Есть <классическая> связка - nginx + httpd + php модулем. Для загрузки
> > > файлов
> > >
> > > Выставлена в php.ini upload_max_filesize = 500M, но физической памяти в
> > > машине всего 12 гиг, т.о мы быстро упрёмся в память - грубо говоря
> > >
> > >  Если 12/ 0.5 = 24 пользователя будут одновременно загружать  большие
> > > файлы,то всё ляжет . Нужно красивым способом ограничить количество
> > тяжёлых
> > > httpd (php ) процессов, например только 10 одновременных закачек, при
> > этом
> > > будет оставаться память для работы <легких> php.
> > >
> > > Кто что посоветует ?
> > >
> > > Заранее спасибо всем откликнувшимся.
> > А  разве nginx не буферизует post?
> 
> Даже если буферизует, всё равно эти мегабайты попадут в итоге в апач+пхп...
Если я правильно помню, php не тянет файлы из POST'а в память, а кладет
их на FS при парсинге POST запроса. Но это стоит проверить.

> > Из советов - поднять отдельный apache для закачек и прописать в нём
> > ServerLimit.
> 
> Как вариант, но не совсем красиво. Хотелось бы пользователю сказать
> что-то внятное - в духе " в данный момент превышено количество бла бла
> бла.." , а не оставлять его медитировать над "думающим" браузером.. 
Неужели все настолько зажрались от ширины каналов, что загрузка полугига
даже не наведет пользователя на мысль что можно занятся чем-то еще,
кроме втыкания в мышуную иконку "busy"?

Сколько по вашему такая загрузка должна занимать времени, в варианте
наличия всех необходимых серверных ресурсов и отсутвия каки-либо
ограничей?




Подробная информация о списке рассылки nginx-ru