[Apache] Глюк на тяжелых страницах
<?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
Может у тебя таймаут маленький (максимальное время выполнения скрипта)... Вообще ни разу с таким не сталкивался...
Как раз Apache 2.0, как раз Win32 (в других услових не воспроизводилось).
IMHO Глюк в том что перемешивается вывод от 2 thread-ов. Например, один тред отдает кому-то jpeg, а другой - кому-то текст. В результате обоим приходит каша из смеси того и другого. Реально у меня наблюдалось только при большой загрузке, иначе не возникает ситуации когда одновременно 2 потока лепят страницы.
Есть 2 способа подключения php - через либу (php*dll) и через отдельный процесс (php.exe). В первом случае - подгружается либа и все делается внутри апачи, в ее тредах. Во втором случае апача форкается и запускается отдельным процессом. У меня наблюдались глюки только при первом способе, при втором все было ок. Но: первый способо более продвинутый, авторы рекомендую его. Второй способ приводит к большому постоянному порождению процесов, накладным расходам на IPC и к огромным тормозам в результате.
Я тогда пришел к выводу что apache на win32 - отстой. Думал, что за 1.5 года чего-нибудь изменилось. Очень странно, если до сих пор не отловили этот баг.
А насчёт того, что статистика не полностью отображается на dracul.hackers, так это стопудово из-за таймаута маленького.
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)
Может, на 1.3.х перейти?
вроде пропали глюки...
Оставить комментарий
vlfdimir58
Apache/2.0.47 (Win32) ServerБудем рассматривать пример http://dracul.hackers/qstat.php?n=242
Начнем с того, что очень сложно заставить ее нормально отобразиться в IE. Рефреши не дают положительного результата.
Даже при n=50 наблюдается подобная картина.
Я решил зайти другим браузером. Под рукой имеется lynx. Захожу. Балуюсь рефрешами. И вижу непонятно откуда возникнувшие куски. Например:
Вопрос: Откуда берутся эти фрагменты, как от них избавиться (не меняя платформу)? Ведь это дело мешает функционированию сайта...