ПРОЕКТЫ 


  АРХИВ 


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: многопоточная закач ка. странности.



On Sun, 21 Nov 2004, Konstantin N. Bezruchenko wrote:

> Заметил странность одну. Имеем файл, размер:
> 3721979904 байт (3Gb) его качают reget-ом в несколько потоков.
> Постоянно появляется ошибка:
>
> Error   2052    22:50:58        21.11.2004      Сервер неожиданно закрыл 
> соединение
>
> Кроме того в логе заметил странную вещь, очень маленький размер блока
> который отдается в той сессия которая сразу-же закрывается.
>
> Вот лог:
>
> 1.2.3.4 - - [21/Nov/2004:10:43:09 -0800] "GET /backup.tar HTTP/1.1" 206 11680 
> "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)"
> 1.2.3.4 - - [21/Nov/2004:10:43:10 -0800] "GET /backup.tar HTTP/1.1" 206 11680 
> "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)"
> 1.2.3.4 - - [21/Nov/2004:10:43:20 -0800] "GET /backup.tar HTTP/1.1" 206 11680 
> "-" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)"
> ...
>
> На маленьких файлах от 10 мегабайт до 1 гигабайта закачка проходит
> гладко, без ошибок.
>
> Это все на linux-2.4.20

sendfile off;

Проблема в том, что это ядро понимает файлы больше 2G, а sendfile() - нет.
sendfile64() появился в 2.4.21. Кстати, это Red Hat 9 ?

А что при этом пишется в error_log ?

Я хотел сделать так, чтобы на таких Линуксах первая часть файла до 2G
отдавалась бы sendfile()ом, а вторая - read()/write(), но пока этого нет.


Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.