Титла: Много бавен LAMP сървър Публикувано от: gotha в Jan 08, 2012, 19:12 Здравейте,
надявам се да съм уцелил раздела. Имам сървър с Ubuntu 11.4, сървърната версия, който се ползва само за едно php/mysql приложение, което като цяло е тежичко но не е нещо страшно. Сървъра е с четириядрен Core i7, 16 GB RAM и 2 x 3 TB SATA 6 Gb/s HDD 7200 rpm (Software-RAID 1). Като цяло би трябвало да е предостатъчно за нуждите ми. Проблема е, че особено при повечко свързани клиенти уеб сървъра е страшно бавен. Top казва, че най-натоварващия процес е mysqld, но той рядко преминава 20% CPU iotop показва DISK READ 0.00 B/s (което ми се струва малко странно), TOTAL DISK WRITE се движи средно около 500 K/s и няколко пъти е листнат mysqld с по 20-30 K/s disk write. Интернет връзката е стабилна, а и дори когато се опитвам да отворя приложението от localhost през links пак бави, включително се бавят и други уеб приложения като phpmyadmin. Проверих за бавни заявки и най-бавните, които би трябвало да се изпълняват веднъж на няколко часа отнемат по-малко от половин секунда. free -m дава total used free shared buffers cached Mem: 15994 11691 4302 0 290 9852 -/+ buffers/cache: 1549 14445 Swap: 32766 0 32766 Като цяло ми се струва, че сървъра не е претоварен, то всичко става зверски бавно. Имате ли някакви предложения как мога да оптимизирам нещата ? Титла: Re: Много бавен LAMP сървър Публикувано от: dejuren в Jan 08, 2012, 19:33 Не видях нищо за Apache. Тествай и него и кажи резултата. Давам ти линк с указания как:
http://www.cyberciti.biz/tips/howto-performance-benchmarks-a-web-server.html Титла: Re: Много бавен LAMP сървър Публикувано от: gotha в Jan 08, 2012, 19:49 Това е при сервиране на статична страница
Код: ab -n 100 -c 5 http://localhost/ Server Software: Apache/2.2.17 Server Hostname: localhost Server Port: 80 Document Path: / Document Length: 177 bytes Concurrency Level: 5 Time taken for tests: 286.629 seconds Complete requests: 100 Failed requests: 0 Write errors: 0 Total transferred: 45500 bytes HTML transferred: 17700 bytes Requests per second: 0.35 [#/sec] (mean) Time per request: 14331.452 [ms] (mean) Time per request: 2866.290 [ms] (mean, across all concurrent requests) Transfer rate: 0.16 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 6515 13846 3952.7 13837 21517 Waiting: 6515 13846 3952.6 13836 21513 Total: 6515 13846 3952.7 13837 21517 Percentage of the requests served within a certain time (ms) 50% 13837 66% 15880 75% 17155 80% 17517 90% 20057 95% 20291 98% 21513 99% 21517 100% 21517 (longest request) Съдейки по резултатите, ако правилно съм ги разбрал, няма смисъл да тествам с php страница. Ще търся някакви начини за оптимизиране на Apache, ако имате някакви напътствия или генерални съвети, ще се радвам да ги чуя, защото малко ме е страх да пипам неща, които не разбирам напълно. edit: Промених MaxClients на 700 и ServerLimit на 750 и резултата беше следния: Код: ab -n 1000 -c 5 http://localhost/ Струва ми се доста по-добре :)This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.2.17 Server Hostname: localhost Server Port: 80 Document Path: / Document Length: 177 bytes Concurrency Level: 5 Time taken for tests: 0.065 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 455000 bytes HTML transferred: 177000 bytes Requests per second: 15279.07 [#/sec] (mean) Time per request: 0.327 [ms] (mean) Time per request: 0.065 [ms] (mean, across all concurrent requests) Transfer rate: 6789.04 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 0.0 0 0 Processing: 0 0 0.1 0 1 Waiting: 0 0 0.1 0 1 Total: 0 0 0.1 0 1 Percentage of the requests served within a certain time (ms) 50% 0 66% 0 75% 0 80% 0 90% 1 95% 1 98% 1 99% 1 100% 1 (longest request) Добри ли ви се струват тези стройности ? До какви стойности мога да си играя да увеличавам MaxClients безопасно ? Някакви други съвети за оптимизация ? П.П. Моля да ме извините за дългия output, който поствам Титла: Re: Много бавен LAMP сървър Публикувано от: dejuren в Jan 08, 2012, 23:48 Ти всъщност си убил големия дракон ;) Може да продължаваш с оптимизация, но важното е, че всичко работи в общи линии нормално. Уви конкретни съвети не мога да ти дам (можеше да дадеш началните стойности на MaxClients и ServerLimit, за сравнение), но мисля от тук влиза в сила закона 90/10 - 90% от резултатите се получават с 10% от вложените усилия. Нататък те чакат 90% вложен труд за 10% резултат :)
Титла: Re: Много бавен LAMP сървър Публикувано от: gotha в Jan 09, 2012, 09:59 ServerLimit не беше зададено изрично и до колкото разбрах default-ната му стойност е била 256.
MaxClients беше на 15 :) като нямам идея дали с такива стойности е бил оригиналния конфигурационен файл или някой го е пипал. Титла: Re: Много бавен LAMP сървър Публикувано от: Georgy в Jan 09, 2012, 11:53 ServerLimit не беше зададено изрично и до колкото разбрах default-ната му стойност е била 256. Оригиналния е така, но по принцип за някакво малко приложение с не голяма посещаемост не е нормално да достигаш ограничението от MaxClients = 250 |