Титла: Apache overload Публикувано от: abadon в Nov 12, 2009, 15:43 Здравейте,
Имам виртуална машинка в една наша хостинг компания, която ще ползвам за да ми хоства сайта. Още от самата инсталация всичко си правя сам. OS-a е Ubuntu Hardy, Kernel 2.6.24-25-virtual, VMware tools-а е последна версия, хост машината е VMware ESX 4 с процесори Intel(R) Xeon(R) CPU E5405 @ 2.00GHz. За виртуалната ми машина са заделени 256МВ RAM, ограничен да ползвам до 450 Mhz процесорно време на един Xeon и имам 100Mbit-а flat канал към интернет . Проблема ми е следния, когато реша да тествам производителността на Apacha и от лаптопа си изпълня ab -c 10 -n 100 http://mysite.com/ или пък ab -c 20 -n 20 http://mysite.com/ в конзолата получавам отговор: Цитат This is ApacheBench, Version 2.3 <$Revision: 655654 $> А load-а на сървъра ми става малко над 20, CPU-то е на 100% почти през цялото време. top-a показва за паметта следното нещо: Цитат Mem 255764k total, 231156k used, 24608k free, 12432k buffers И на първите 20-21 реда показва apache2 така гледах top-а около 40 мин и стойностите си остават почти без промяна. Изпълних /etc/init.d/apache2 stop изчаках още 4-5 мин но нищо не се случи затова изпълних killall -9 apache2 и машината се разтовари. Въпроса ми е на какво се дължи това зависване на апача? Явно нещо фундаментално съм сбъркал, а изчетох толкова много неща за оптимизация. Ето и какво съм променил от default-ските: В /etc/apache2/apache2.conf: Цитат <IfModule mpm_prefork_module> Override-а ми е забранен навсякъде. Вместо .htaccess файлове ползвам директиви в /etc/apache2/httpd.conf за конкретната директория където трябва да има .htaccess файл. В /etc/php5/apache2/php.ini съм променил: Цитат post_max_size = 256M Инсталирал съм и eAccelerator ($2) съгласно указанията тук ($2) Конфигурацията ми в /etc/php5/conf.d/eaccelerator.ini е следната: Цитат extension="eaccelerator.so" В /etc/mysql/my.cnf съм променил това: Цитат max_allowed_packet = 128M Файловата ми система е reiserfs понтирана със следните опции relatime,noatime,notail Предварително благодаря! Титла: Re: Apache overload Публикувано от: abadon в Nov 18, 2009, 12:58 Борейки проблема открих нещо много страно. Смених порта на апача от 80 на 8080 и ето какво стана ab -c 10 -n 1000 http://mysite.com:8080/ :
Цитат This is ApacheBench, Version 2.3 <$Revision: 655654 $> Мисля прилична производителност за такава скромна машинка като моята. Няма зависване на апача няма нищо. Има само товар докато теста тече, после се разтоварва. Обаче като го пусна на 80-ти порт същия тест и получавам Цитат This is ApacheBench, Version 2.3 <$Revision: 655654 $> И полужението е същото апача зависва. Някой може ли да ми обясни на какво се дължи този проблем. Защо на дефолт порта нямам пройзводителност а на 8080 е в пъти по-голяма. Титла: Re: Apache overload Публикувано от: dejuren в Dec 17, 2009, 18:46 Едва ли е голямо успокоение, но не си единствен (виж пост #10)
http://www.webhostingtalk.com/showthread.php?t=905387 Като заобикаляне на проблема ползвай веб прокси. Също тествай с http://loadimpact.com/ дали има разлика при двата различни порта. Възможно е просто апач бенч да има конфликт със сървъра работещ на 80. Титла: Re: Apache overload Публикувано от: abadon в Dec 18, 2009, 11:56 Това с уеб проксито го тествах няма ефект, даже по-зле става. Проблема с портовете се реши след ъпдейт на апача. Пройзводителността и на 80-ти се управи. Иначе благодаря за бенчмарк сайта много е як [_]3
|