ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feature request: sendfile management



On Tue, Oct 09, 2007 at 07:41:29PM +0300, MZ wrote:

> Замечено что использование sendfile ухудшает производительность при
> отдаче больших файлов, которые не кешируются эффективно операционкой. То
> есть если общий обьем тех файлов что часто запрашиваются не помещается в
> RAM и оси приходится читать их с диска постоянно для каждого запроса.
> Выключение sendfile увеличивает отдачу с дисков (по данным gstat) раза в
> полтора.
> 
> Я думаю есть смысл не использовать sendfile для больших файлов, то есть
> смотреть на размер файла перед отдачей, и если его размер превышает тот
> что установлен какой-то директивой (типа sendfile_max_filesize 10m) -
> такие файлы отдавать обычным методом.


-- 
Игорь Сысоев
http://sysoev.ru
--- sys/kern/uipc_syscalls.c    2006-09-18 14:12:30.000000000 +0400
+++ sys/kern/uipc_syscalls.c    2007-10-10 12:13:54.000000000 +0400
@@ -1973,6 +1973,9 @@
                 */
 
                if (pg->valid && vm_page_is_valid(pg, pgoff, xfsize)) {
+                       vm_page_lock_queues();
+                       vm_page_flag_set(pg, PG_REFERENCED);
+                       vm_page_unlock_queues();
                        VM_OBJECT_UNLOCK(obj);
                } else if (uap->flags & SF_NODISKIO) {
                        error = EBUSY;


 




Copyright © Lexa Software, 1996-2009.