Re: amd64, sendfile & файлы > 4GB

proforg proforg at maloletka.ru
Mon Apr 23 20:58:10 MSD 2007


забыл :(
для этого локейшна:

2007/04/23 20:55:49 [debug] 32666#0: *1185691 http cl:-1 max:1048576
2007/04/23 20:55:49 [debug] 32666#0: *1185691 generic phase: 2
2007/04/23 20:55:49 [debug] 32666#0: *1185691 post rewrite phase: 3
2007/04/23 20:55:49 [debug] 32666#0: *1185691 generic phase: 4
2007/04/23 20:55:49 [debug] 32666#0: *1185691 access phase: 5
2007/04/23 20:55:49 [debug] 32666#0: *1185691 access phase: 6
2007/04/23 20:55:49 [debug] 32666#0: *1185691 post access phase: 7
2007/04/23 20:55:49 [debug] 32666#0: *1185691 content phase: 8
2007/04/23 20:55:49 [debug] 32666#0: *1185691 content phase: 9
2007/04/23 20:55:49 [debug] 32666#0: *1185691 content phase: 10
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http set discard body
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http filename: "/home/ 
mldonkey/incoming/files/debian-40r0-i386-DVD-2.iso"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 add cleanup:  
0000000000ADA6B8
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http static fd: 579
2007/04/23 20:55:49 [debug] 32666#0: *1185691 HTTP/1.1 206 Partial  
Content
Server: nginx/0.5.18
Date: Mon, 23 Apr 2007 16:55:49 GMT
Content-Type: application/octet-stream
Content-Length: 2533961133
Last-Modified: Sun, 22 Apr 2007 16:08:56 GMT
Connection: keep-alive
Content-Range: bytes 2147514963-4681476095/4681476096


2007/04/23 20:55:49 [debug] 32666#0: *1185691 write new buf t:1 f:0  
0000000000ADA8F8, pos 0000000000ADA8F8, size: 284 file: 0, size: 0
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http write filter: l:0  
f:0 s:284
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http output filter "/ 
incoming/files/debian-40r0-i386-DVD-2.iso?"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 copy filter: "/incoming/ 
files/debian-40r0-i386-DVD-2.iso?"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http postpone filter "/ 
incoming/files/debian-40r0-i386-DVD-2.iso?" 00007FFF4E81DC90
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http postpone filter  
out "/incoming/files/debian-40r0-i386-DVD-2.iso?"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 write old buf t:1 f:0  
0000000000ADA8F8, pos 0000000000ADA8F8, size: 284 file: 0, size: 0
2007/04/23 20:55:49 [debug] 32666#0: *1185691 write new buf t:0 f:1  
0000000000000000, pos 0000000000000000, size: 0 file: 2147514963,  
size: 2533961133
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http write filter: l:1  
f:0 s:2533961417
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http write filter to  
send 0
2007/04/23 20:55:49 [debug] 32666#0: *1185691 tcp_nopush
2007/04/23 20:55:49 [debug] 32666#0: *1185691 writev: 284
2007/04/23 20:55:49 [crit] 32666#0: *1185691 sendfile() failed (22:  
Invalid argument) while sending response to client, client:  
212.152.47.56, server: devil.maloletka.ru, URL: "/incoming/fil
es/debian-40r0-i386-DVD-2.iso", host: "devil.maloletka.ru"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http write filter  
FFFFFFFFFFFFFFFF
2007/04/23 20:55:49 [debug] 32666#0: *1185691 copy filter: -1 "/ 
incoming/files/debian-40r0-i386-DVD-2.iso?"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http finalize request:  
-1, "/incoming/files/debian-40r0-i386-DVD-2.iso?"
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http close request
2007/04/23 20:55:49 [debug] 32666#0: *1185691 http log handler
2007/04/23 20:55:49 [debug] 32666#0: *1185691 run cleanup:  
0000000000ADA6D0, fd:579
2007/04/23 20:55:49 [debug] 32666#0: *1185691 free: 0000000000AD9BE0,  
unused: 164
2007/04/23 20:55:49 [debug] 32666#0: *1185691 close http connection: 574
2007/04/23 20:55:49 [debug] 32666#0: *1185691 free: 00000000005968F0
2007/04/23 20:55:49 [debug] 32666#0: *1185691 free: 0000000000E2EFB0
2007/04/23 20:55:49 [debug] 32666#0: *1185691 free: 00000000006F5CC0,  
unused: 16
2007/04/23 20:55:49 [debug] 32666#0: *1185691 free: 0000000000B12260,  
unused: 112

или нужен более полный ?


On 23.04.2007, at 20:29, Igor Sysoev wrote:

> On Mon, Apr 23, 2007 at 04:39:08PM +0400, proforg wrote:
>
>> Коллеги, а кто нить смог решить эту
>> проблему ?
>> Или хотя бы понять в чём дело ?
>
> Нужен отладочный лог.
>
>> On 13.03.2007, at 23:36, Sergey Serov wrote:
>>
>>> Hello, Igor & list!
>>> Наблюдаю следующую проблему.
>>>
>>> Если юзер качает большой файл более
>>> 4Гиг и в несколько потоков, то на
>>> 2.6.18-3-amd64 SMP (amd dual core) некоторые потоки
>>> постоянно реконнектятся.
>>> nginx при этом пишет в лог "nginx sendfile() failed
>>> (22: Invalid argument)".
>>>
>>> На 2.6.18.5 SMP (intel dual core) все нормально.
>>>
>>> Если sendfile off, то все нормально и на amd64.
>>>
>>> Причем, потоки которые прерываются
>>> не обязательно стартуют с байта более
>>> 2**32. Если и те, которые стартуют с
>>> байта до 1Г.
>>>
>>> # nginx -v
>>> nginx version: nginx/0.5.12
>
>
> -- 
> Игорь Сысоев
> http://sysoev.ru
>



Алексей Бещёков
proforg at maloletka.ru
+7 495 7853149



-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2423 bytes
Desc: not available
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20070423/6b58975f/attachment.bin>


More information about the nginx-ru mailing list