jasiek07 0 Zgłoś post Napisano Maj 17, 2014 (edytowany) Witam, mam problemy z wydajnością serwera przy dużej ilości odwiedzających. Podejrzewam, że problem głównie leży po stronie konfiguracji apache2. Słyszałem, że najlepszym krokiem w kierunku optymalizacji serwera jest zwiększenie pamięci podręczeniej, jako że praktycznie cała zawartość mojej strony jest statyczna, to chciałbym zwiększyć cache aby zwiększyć wydajność. Ponieważ na obecną chwilę przy znacznym ruchu moja strona wysiada, zużycie ramu wynosi 100% aż w pewnym momencie wysiada baza danych i trzeba naprawiać tabele i resetować ciągle serwer. CPU model : Intel(R) Xeon(R) CPU L5639 @ 2.13GHz Number of cores : 2 CPU frequency : 2134.000 MHz Total amount of ram : 2048 MB Total amount of swap : 0 MB System uptime : 1 day, 18:40, Download speed from CacheFly: 30.7MB/s Download speed from Coloat, Atlanta GA: 3.05MB/s Download speed from Softlayer, Dallas, TX: 30.6MB/s Download speed from Linode, Tokyo, JP: 11.1MB/s Download speed from i3d.net, Rotterdam, NL: 7.13MB/s Download speed from Leaseweb, Haarlem, NL: 19.6MB/s Download speed from Softlayer, Singapore: 2.20MB/s Download speed from Softlayer, Seattle, WA: 36.6MB/s Download speed from Softlayer, San Jose, CA: 57.8MB/s Download speed from Softlayer, Washington, DC: 18.9MB/s I/O speed : 110 MB/s apache2ctl -M Loaded Modules: core_module (static) log_config_module (static) logio_module (static) mpm_prefork_module (static) http_module (static) so_module (static) alias_module (shared) auth_basic_module (shared) authn_file_module (shared) authz_default_module (shared) authz_groupfile_module (shared) authz_host_module (shared) authz_user_module (shared) autoindex_module (shared) cgi_module (shared) deflate_module (shared) dir_module (shared) env_module (shared) mime_module (shared) negotiation_module (shared) php5_module (shared) reqtimeout_module (shared) rewrite_module (shared) setenvif_module (shared) status_module (shared) Syntax OK Mój config w załączniku (musiałem zmienić rozszerzenie na *txt ponieważ inne nie chciało się wgrać). apache2.txt Mógłby ktoś pomóc w ustawieniu tego cache? Szukałem troche po googlach ale niezbyt klarownie to było wytłumaczone.. Pozdrawiam! Edytowano Maj 17, 2014 przez jasiek07 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
przemon 35 Zgłoś post Napisano Maj 17, 2014 Wkleiłeś główny config apache z którego nic nie wynika. Zapewne masz apache + mod_php Pokaż wynik poleceń: free -m i listę procesów ps -aux Udostępnij ten post Link to postu Udostępnij na innych stronach
jasiek07 0 Zgłoś post Napisano Maj 18, 2014 total used free shared buffers cached Mem: 2048 781 1266 0 0 497 -/+ buffers/cache: 284 1763 Swap: 0 0 0 root@jasiek:~# ps -aux Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 8360 128 ? Ss May17 0:00 init [2] root 2 0.0 0.0 0 0 ? S May17 0:00 [kthreadd/201] root 3 0.0 0.0 0 0 ? S May17 0:00 [khelper/201] root 460 0.0 0.0 5988 484 ? Ss May17 0:00 /sbin/syslogd root 481 0.0 0.0 54568 212 ? Ss May17 0:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 2 root 482 0.0 0.0 54568 188 ? S May17 0:00 /usr/sbin/saslauthd -a pam -c -m /var/run/saslauthd -n 2 root 498 0.0 0.2 204876 5336 ? Ss May17 0:09 /usr/sbin/apache2 -k start root 531 0.0 0.0 49180 764 ? Ss May17 0:00 /usr/sbin/sshd 109 547 0.0 0.0 23272 804 ? Ss May17 0:00 /usr/bin/dbus-daemon --system root 584 0.0 0.0 19340 416 ? Ss May17 0:00 /usr/sbin/xinetd -pidfile /var/run/xinetd.pid -stayalive -inetd_compat -inetd_ipv6 root 611 0.0 0.0 9196 488 ? S May17 0:00 /bin/sh /usr/bin/mysqld_safe root 612 0.0 0.0 20912 384 ? Ss May17 0:00 /usr/sbin/cron root 841 0.0 0.0 39056 712 ? Ss May17 0:01 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf root 844 0.0 0.0 75032 1320 ? S May17 0:00 dovecot-auth root 863 0.0 0.0 75112 2004 ? S May17 0:00 dovecot-auth -w root 917 0.0 0.0 37180 680 ? Ss May17 0:00 /usr/lib/postfix/master postfix 924 0.0 0.0 39408 1152 ? S May17 0:00 qmgr -l -t fifo -u postfix 2484 0.0 0.0 41764 1504 ? S May17 0:00 tlsmgr -l -t unix -u -c mysql 15774 1.1 2.4 344216 51140 ? Sl May17 12:15 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var root 15775 0.0 0.0 3860 420 ? S May17 0:00 logger -t mysqld -p daemon.error dovecot 26327 0.0 0.1 36928 2568 ? S 05:07 0:00 imap-login dovecot 26593 0.0 0.1 36916 2572 ? S 05:26 0:00 pop3-login dovecot 26594 0.0 0.1 36916 2568 ? S 05:26 0:00 pop3-login dovecot 26597 0.0 0.1 36916 2572 ? S 05:26 0:00 pop3-login postfix 28512 0.0 0.1 39244 2376 ? S 08:20 0:00 pickup -l -t fifo -u -c dovecot 28998 0.0 0.1 36928 2568 ? S 08:57 0:00 imap-login support 28999 0.0 0.1 40088 2172 ? S 08:57 0:00 imap dovecot 29013 0.0 0.1 36928 2572 ? S 08:58 0:00 imap-login www-data 29229 1.2 1.1 218364 23368 ? S 09:14 0:01 /usr/sbin/apache2 -k start www-data 29232 0.3 1.3 224492 29148 ? S 09:14 0:00 /usr/sbin/apache2 -k start www-data 29238 1.9 1.1 219384 24244 ? S 09:15 0:01 /usr/sbin/apache2 -k start www-data 29239 0.7 1.1 221456 24972 ? S 09:15 0:00 /usr/sbin/apache2 -k start www-data 29240 0.0 0.3 205376 7592 ? S 09:15 0:00 /usr/sbin/apache2 -k start www-data 29241 1.6 1.1 219384 24200 ? S 09:15 0:01 /usr/sbin/apache2 -k start www-data 29245 1.2 1.1 219648 24208 ? S 09:15 0:00 /usr/sbin/apache2 -k start www-data 29249 1.8 1.1 219384 24184 ? S 09:15 0:01 /usr/sbin/apache2 -k start www-data 29251 2.3 1.3 223188 28068 ? S 09:15 0:01 /usr/sbin/apache2 -k start root 29252 0.0 0.1 79016 3644 ? Ss 09:16 0:00 sshd: root@pts/0 root 29254 0.0 0.0 17724 1924 pts/0 Ss 09:16 0:00 -bash www-data 29259 1.3 1.1 218384 23196 ? S 09:16 0:00 /usr/sbin/apache2 -k start www-data 29262 0.0 0.2 204876 5744 ? S 09:17 0:00 /usr/sbin/apache2 -k start root 29263 0.0 0.0 14824 1072 pts/0 R+ 09:17 0:00 ps -aux Rozumiem, mogę wkleić cały folder apache Udostępnij ten post Link to postu Udostępnij na innych stronach
przemon 35 Zgłoś post Napisano Maj 18, 2014 Nie masz przestrzeni wymiany (swap). 1. Zainstaluj sysstat i odpal w interwale 5 min to będziemy wiedzieli co zjada zasoby i jakie: http://www.leonardoborda.com/blog/how-to-configure-sysstatsar-on-ubuntudebian/ 2. Utwórz i aktywuj partycję wymiany albo jak nie masz możliwości to plik wymiany: http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/ Udostępnij ten post Link to postu Udostępnij na innych stronach
jasiek07 0 Zgłoś post Napisano Maj 18, 2014 (edytowany) Plik sysstat odpalony. Z plikiem wymiany niestety jest problem, nie odpalę go bo mam OpenVZ wirtualizację. Ale i tak zmienie na dniach vpsa bo ten miał być tymczasowy. Więc na obecną chwilę drugi krok odstawiam na potem (kwestia kilku dni). Dzięki za pomoc. Dzisiaj będę miał duży ruch, takżę wrzucę po wszystkich statystyki z sysstata. A takto dokończę resztę jak kupie jakiegos KVM albo ewentualnie kupie ovz ale ze swapem Edytowano Maj 18, 2014 przez jasiek07 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Maj 18, 2014 (edytowany) Już jednemu użytkownikowi pomogłem. Zamiana na nginx + php-fpm i dodatkowo zamiana skryptu zamieniającego IP na lokalizację i okazało się, że nawet mały VPS z polskiej firmy obsłuży duży ruch. Ok. 0.5mln requestów w 3 godziny to niezły wynik jak na maluszka Edytowano Maj 18, 2014 przez Misiek08 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
bermut 18 Zgłoś post Napisano Maj 18, 2014 (edytowany) Po przejęciu forum przez nazwa.pl i zmianach w regulaminie zdecydowałem się usunąć wszystkie swoje posty. Cześć. Edytowano Wrzesień 20, 2017 przez linoskoczek (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
przemon 35 Zgłoś post Napisano Maj 19, 2014 Już jednemu użytkownikowi pomogłem. Zamiana na nginx + php-fpm i dodatkowo zamiana skryptu zamieniającego IP na lokalizację i okazało się, że nawet mały VPS z polskiej firmy obsłuży duży ruch. Ok. 0.5mln requestów w 3 godziny to niezły wynik jak na maluszka A skąd wiesz że to wina apache 2.2 + mod_php? Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Maj 20, 2014 (edytowany) Łącze jest, wszystko działa dopóki nie ma dużego obciążenia. Duże obciążenie na Apache'u ze względu na jego budowę powoduje ogromny skok zużycia pamięci, a alternatywne serwery radzą sobie z jej zarządzaniem dużo lepiej. Edit: Nawet jeśli teraz przywróci Apache do życia to niebawem ruch urośnie i znowu problem. Poza tym skoro brakuje RAMu to polecać koledze SWAP? To po co mu w ogóle RAM, niech tylko na dysku SWAPuje wszystko - będzie szybciej! Edytowano Maj 20, 2014 przez Misiek08 (zobacz historię edycji) Udostępnij ten post Link to postu Udostępnij na innych stronach
jasiek07 0 Zgłoś post Napisano Maj 20, 2014 Więc co proponujecie, zupgradowałem serwer do 4gb pamięci Udostępnij ten post Link to postu Udostępnij na innych stronach
Misiek08 285 Zgłoś post Napisano Maj 20, 2014 Dalej są problemy z pamięcią? Jeżeli tak to ja dalej się będę upierał przy nginx + php-fpm. Przy okazji jakieś statystyki ruchu możesz podać? Udostępnij ten post Link to postu Udostępnij na innych stronach
NetMat 107 Zgłoś post Napisano Maj 20, 2014 Z nginx'em cały serwer odżyje pamiętam jak ja zmieniłem apache na nginx'a to naprawdę sporo zasobów procka i ram maiłem wolnych Udostępnij ten post Link to postu Udostępnij na innych stronach
malu 460 Zgłoś post Napisano Maj 20, 2014 Nginx + FPM to przecież lekarstwo na wszystkie choroby, owszem zużywało by to mu mniej zasobów bo nginx domyślnie uruchamia mniej procesów niż apache no i jego architektura wymusza mniejsze zużycie pamięci, ale do cholery - to byłą by dobra rada, gdyby miał 128MB ram, a nie 4GB.Bez znaczenia czy tam wrzucisz nginx czy php-fpm, skoro masz VPS openVZ oparty o stary BC bez vswap - czyli zliczający zużycie VSZ, a nie RSS musisz zmniejszyć wielkość stosu.Odsyłam:http://openvz.org/Stack_sizeSQL zostaw w spokoju, ale apache, bind'a itd.. powinien spokojnie działać na 128/256.Reasumując dopisujesz ulimit -s 128 do:/etc/init.d/apache2 lub /etc/init.d/httpdW razie problemów po prostu zwiększ stos. Udostępnij ten post Link to postu Udostępnij na innych stronach