[Apache] Глюк на тяжелых страницах

vlfdimir58

Apache/2.0.47 (Win32) Server
Будем рассматривать пример http://dracul.hackers/qstat.php?n=242
Начнем с того, что очень сложно заставить ее нормально отобразиться в IE. Рефреши не дают положительного результата.
Даже при n=50 наблюдается подобная картина.
Я решил зайти другим браузером. Под рукой имеется lynx. Захожу. Балуюсь рефрешами. И вижу непонятно откуда возникнувшие куски. Например:

yandex.ru 172.16.5.16 January 15 2004 14:16:01. yandex.ru 213.180.194.129x`@l, /-aG~3PYUGN¶«WJG/-dD%
25325R~1.JPG25325r105.jpgx 1 /-aG~3PYUGN¶«WJGTs 25325R~2.JPG25325r118.jpgxa` 4 /-aG~3PYUGN¶«WJG«`D%
25325R~3.JPG25325r111.jpgx @V%8 /-aG~3PYUGN¶«WJGNJ 25325R~4.JPG25325r115.jpgx`A»> /-aG~3PYUGN¶«WJGzyD%
253A9D~1.JPG25325r116.jpgx jI /-aG~3PYUGN¶«WJGhvD% 25329D~1.JPG25325r114.jpgxaa`R /-aG~3PYUGN¶«WJG;zD%
25328D~1.JPG25325r110.jpgx A%W /-aG~3PYUGN¶«WJG?' 253A8D~1.JPG25325r112.jpgx`3Z /-aG~3PYUGN¶«WJGqoD%
253E8D~1.JPG25325r113.jpgx aZH^ /-aG~3PYUG"z¬WJGKJlD% 253491~1.JPG25325r075.jpgxaD%M` /-aG~3PYUG"z¬WJGVaD%
253E9D~1.JPG25325r117.jpgx ayj /-aG~3PYUG"z¬WJGkjLJ 25329B~1.JPG25325r104.jpgx`D%'l /-aG~3PYUG"z¬WJG213.180.199.12



0FATBOY~3.MP3Fatboy Slim -
Apache.mp3Aa vRuyufGIz]YAG4%Xj[GYIZ23 `FATBOY~4.MP3Fatboy Slim - Peanut Butter And Jelly (Beast.mp3°`
SCHshyufGIz]YAG"Y"l[GDZ%tD%t LFAC56E~1.MP3Fatboy Slim - Going Out Of My Head.mp3IOa ACchyufGIz]YAGR^g%o[G`NJD%NJ
HFAE5A2~1.MP3Fatboy Slim - Sound Of Milwaukee.A»h"yufGIz]YAGcsYp[G, rs 4FA987B~1.MP3Fatboy Slim - Sho
Nuff.mp3~3PYUGa `EyyyufGIz]YAGaHTq[G[ZG%' ^FAF1DB~1.MP3Fatboy Slim - The Rockfeller Skank
(Mulders.mp3rALBUMA~3.JPGAlbumArt_{BF8134E1-7F75-4665-BD00-887501475B97}_Large.jpgx
'szh>EGEURQEURaaGyi<~V%EG(D%desktop.iniRA
¦dc>EGIt`*CGlVc>EG=D%rALBUMA~4.JPGAlbumArt_{D99C33FE-365D-462A-9E7A-663536FAC501}_Small.jpgRD% Ypc>EGIt`*CGlVc>EGD%r



Rd%G%hYUSD% --G%a="D%JSCHN<jGCH 0/00IEYGB±nfGD%ID%I
D%#F87E~1.MP3C;LBD8;=8:8 - @K;0BK5 0G5;8 (@8:;NG5=8O.mp3Ga`C 0/00O<jGCH 0/00IEYGB±nfG`(D%(
'#204F~1.MP3C;LBD8;=8:8 - -B> =05B AO:89 (@8:;NG5=8O.pO<jGCH 0/00IEYGB±nfGD% '#146F~1.MP3C;LBD8;=8:8 - -B>
'B> 5 "0:>5 (@8:;NG5=8O.mp3I``pieP<jGCH 0/00IEYGB±nfG0fD%f f#A8D0~1.MP3C;LBD8;=8:8 - 5A=O 25740E.mp3 u¦Q<jGCH
0/00IEYGB±nfGD%9D%9 =O.mp3A5=` J{G"GCH 0/00IEYGDgS0gGd"AB :01-!/~1.MP301 - !?OB #AB0;K5 CH:8.mp3 a`lj>/-G"GCH
0/00IEYGDgS0gG-uND%N B05-~1.MP305 - >340 >8 @C7LO !> =>9.`KIEG"GCH 0/00IEYGDgS0gGSCHII12 407-'~1.MP307 -
'5;5.mp315; AAin¬G"GCH 0/00IEYGDgS0gG"p&D%& >08-~1.MP308 - 5AC >48;0AL ;>G:0.mp3 d% `4®G"GCH 0/00IEYGDgS0gG3/- ,08-
~1.MP308 - @>:>48; 5=0.mp3 A 0/00WYIG"GCH 0/00IEYGDgS0gG°LM >10-+~1.MP310 - K 0=48B>-0=8B>.mp30OD%JDSIIG"GCH
0/00IEYGDgS0gG:D%: 11-#+~1.MP311 - #;K1:0.mp3LB` nEURµG"GCH 0/00IEYGDgS0gGYIIDE ,13-~1.MP313 - >;C1>9 03>=.mp3CH
0/00IEYGB±nfGD%=D%= >NOARTI~1.MP3No Artist - 5A=O 548=0.mp3trin AA30I<jGIz]YAGB±nfGD%PCD%C BNOARTI~2.MP3No Artist
- @5:@0A=>5 0;5:>.mp3aD% )BI<jGCH 0/00IEYGB±nfGRDE D%#C778~1.MP3C;LBD8;=8:8 - 5A=O CH:>2
(`B0=LO=.mp3=K<jGCH 0/00IEYGB±nfGA?@ '#8959~1.MP3C;LBD8;=8:8 - 52 @04>59 (8 >?8=A.mp3 A BlL<jGCH
0/00IEYGB±A @ =yaL<jGCH 0/00IEYGB±nfGd%<= 6NO7156~1.MP3No Artist - C- 0-"8->.mp3u
@=8:8 - 5A=O >@>35 >0 (@8:;NG.mp3aA` N<jGCH 0/00IEYGB±nfGG3"*+ '#D9D8~1.MP3C;LBD8;=8:8 - @CAB=0O 5A5=:0
!>56:8=0 (.mp3D%`µ|N<jGCH 0/00IEYGB±nfG $D%$ '#6E21~1.MP3C;LBD8;=8:8 - > '53> >H5; @>5AA (@8:;.mp3


Вопрос: Откуда берутся эти фрагменты, как от них избавиться (не меняя платформу)? Ведь это дело мешает функционированию сайта...

vlfdimir58

или вот еще:

<?php
for ($i=100000; $i < 110100; $i++) {
echo "$i ||||| $i = ".(2*log(sin(acos($i/500000."<br>\r\n";
}
?>


В результате имеем:


101490 ||||| 101490 = -0.0420736946535
101491 ||||| 101491 = -0.0420745414673
101492
||r¦G%hYUSD%yuAJ%G%|¤|G%D|G%4|||G%D|8$|.$|g3|=4|/T|ot|r"|ad|i"|/|G%¤|t|G%$|g3|f|T|4|4||"|D|f|f|f|d||D|d|t|T|Ed|t|ET|
$E$|"|4|G%|EtD|6T|t|dd|yt|44EDE'Ea4Eh$EtTEuDEt"E>LE.¤E/D|>DE=F|/F|tg3Eh"EmD|i4|ld|_'&'ep'2r'9'adVAG%
A0AG%@AdE|dEDEd|T|pDSd|YrYdEtE"|U>UDUUFUdUyuioyu"yuyuG%¤yufUrUtU<$U14Ur`/t`o`_`m$`l4`sstxg304Da"`r"`gD`ng3`ie¤
`F`G%FG%fdG%D`I"yu>"yu ¤yuVg3yuD%°&°G%vievv$f4fff°$°°TdDADDDDFDdDqDrfD7D=$D...=. ._.9R.8yiyityil
yinPyiie`yipyiG%D%yiG%d%yi yi°yiG%AyiRyiG%ayiryiyi4yit
yiVPyiD%`yipyiG%D%yid%yi yi°yiAyiRyiayiyiyiPyi`yipyiD%yid%yi yi°yiAyiayiryi4vdvDvTvG%`<44"±1D±>"±
J±1¤±1d±.± g3±hD±tF±ie 0/00nj 0/00G%4 0/00G% 0/00D 0/00T 0/00G%d 0/00=t 0/00/" 0/00t"
0/00hf±m±VRyiD%QKQG%"QG%Q¤Qg3QG%dQG%Y0YG%Y
YPYD%DSF|fEdEdl$`F``|$|f|g3U8UtUDUfUUyu$UIEyut4U0"Ur4Ua"UrDUuFUdFUt$Ue¤U:g3UndU/Fvotv=IIvf¤vr"vgvdvG%'vDv$vrd|gtEn
dv9Fv/hVhD%vv%vG%dv"v$v"vTv¤vTv>f DTD®DDD~DDdsD¤DTsDDg3 DtDdDDDfDf D d DtTDpT D8$DsDy"Dl¤Dq$ Dr DaD D=¤D.dDoTD=DD
$E_$D1 .9 .<0.ie0.TUG%4EG%4vfvDEG%t|G%0.Z4A±1d%±3 ±ieF||G%$|G%E4|7G%7tD%7.D7 7_d7VT7D%d7|7G%4747474
0/00EUREEURg3EEUR77Dyu"Uf7D`T`¤|d`$v" 0/00D 0/00F 0/00F7"7$7tg3727 g37 t7e"7.¤7>t71$7347>f7J"71F71D7.g37 T7
47t"7ie$77G%d7G%g37"7t7G%t7TUG%D7g3Udyuet±sF±yF±l$±q-0.0421541824262
101586 ||||| 101586 = -0.0421550301009

Artas

Может у тебя таймаут маленький (максимальное время выполнения скрипта)... Вообще ни разу с таким не сталкивался...

Landstreicher

Я с таким сталкиваля 1.5 года назад.
Как раз Apache 2.0, как раз Win32 (в других услових не воспроизводилось).
IMHO Глюк в том что перемешивается вывод от 2 thread-ов. Например, один тред отдает кому-то jpeg, а другой - кому-то текст. В результате обоим приходит каша из смеси того и другого. Реально у меня наблюдалось только при большой загрузке, иначе не возникает ситуации когда одновременно 2 потока лепят страницы.
Есть 2 способа подключения php - через либу (php*dll) и через отдельный процесс (php.exe). В первом случае - подгружается либа и все делается внутри апачи, в ее тредах. Во втором случае апача форкается и запускается отдельным процессом. У меня наблюдались глюки только при первом способе, при втором все было ок. Но: первый способо более продвинутый, авторы рекомендую его. Второй способ приводит к большому постоянному порождению процесов, накладным расходам на IPC и к огромным тормозам в результате.
Я тогда пришел к выводу что apache на win32 - отстой. Думал, что за 1.5 года чего-нибудь изменилось. Очень странно, если до сих пор не отловили этот баг.

Artas

Обрати внимание, что выдаваемый мусор не имеет ничего общего с jpeg, gif или даже любым другим файлом, это обычный дамп памяти, видишь, там какие-то названия песен, прочая лабуда, маловероятно, что такое может быть в jpeg-е или другом файле. Скорее всего это кусок когда-то занятой, а теперь освободившейся памяти...
А насчёт того, что статистика не полностью отображается на dracul.hackers, так это стопудово из-за таймаута маленького.

vlfdimir58

max_execution_time = 30 ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)

vlfdimir58

Может, на 1.3.х перейти?

vlfdimir58

перешел на Apache/1.3.29 (Win32) PHP/4.3.5RC1
вроде пропали глюки...
Оставить комментарий
Имя или ник:
Комментарий: