Skocz do zawartości
zaq

Optymalizacja Apache

Polecane posty

Witam,

 

Chciałbym Was, drodzy forumowicze poprosić o pomoc w optymalizacji apache2 na VPS w firmie Statnet.pl. Problem polega na tym, że moja strona zaczęła strasznie zamulać. Długo trwa pierwsze łączenie, potem ładuje się normalnie. Jeżeli wchodzę na inną domenę na tym serwerze, to znowu długo łączy. Tak samo jak wejdę z innej przeglądarki.

 

To moje aktualne ustawienia:

 

<IfModule mpm_worker_module>
ServerLimit 	1000
StartServers 	2
MaxClients 	1000
MinSpareThreads 	25
MaxSpareThreads 	75
ThreadsPerChild 	25
MaxRequestsPerChild 0
</IfModule>

 

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

 

 

Próbowałem już kombinować z tymi ustawieniami, wszystko zmieniałem i nic nie udało mi się osiągnąć.

 

Procesor jest mocno obciążony przez mysql, gdyż baza jest ogromna i dużo operacji na niej zachodzi. Jednak raczej to nie jest powodem, gdyż jak strona raz się wczyta, to potem nie ma problemu.

 

Zużycie ramu szacuje się przeważnie na poziomie ~700/1024 MB.

 

Ruch na stronie to średnio 45 tys. odwiedzin/300tys odsłon według Google Analytics dziennie.

 

Nie wiem czy podałem wszystkie potrzebne informacje do oceny sytuacji.

 

Z góry dziękuję za pomoc.

 

Pozdrawiam,

zaq

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
ServerLimit 1000 StartServers 2

MaxClients 1000

 

Nie bardzo to rozumiem ... twój konfig.

 

Oczywiście apache jest skompilowany z workerem (skoro nie czujesz zmian to może chodzi na preforku) ?

bum:

http://httpd.apache....mod/worker.html

bam:

http://httpd.apache....od/prefork.html

 

 

p.s. jak pracuje php ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Na pewno działa na worker.

 

Zmiany odczuwam, tylko, że nie mogę zrozumieć jak optymalnie je ustawić. Zawsze coś jest nie tak.

 

 

PHP pracuje na fastcgi. Wszystko wydaje się w porządku. Ustawiłem bardzo dużo procesów dla tej strony.

 

#!/bin/sh
PHPRC="/etc/php5/cgi/"
export PHPRC
PHP_FCGI_CHILDREN=40
export PHP_FCGI_CHILDREN
exec /usr/bin/php5-cgi

 

Nie wiem, czy to rozsądne.

 

 

EDIT: Z tego co teraz obserwuje, to nie zawsze po pierwszym wczytaniu strona działa już prawidłowo. Bywa, że zamula cały czas.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
root@127:/var/log/virtualmin# vmstat 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so	bi	bo in cs us sy id wa
19 1 318504 31964 11848 343120	7	3	75	11 71 61 59 13 19 9
10 3 318504 32328 11940 344964	0	0 529 2079 1952 1908 85 14 0 0
8 0 318504 30012 12000 346960	0	0 647 464 1667 1656 85 15 0 0
10 1 318504 23868 12108 349216 53	0 752 1248 1748 1765 89 11 0 0
9 1 318504 18664 11632 339920 31	0 904 541 1671 1609 85 14 0 0
7 0 318504 28616 11656 343360	0	0 1468 988 1535 1303 72 28 0 0
16 0 318504 28928 11732 347440 43	0 1357 547 1560 1585 81 18 0 0
17 0 318504 24048 11776 348828	8	0 432 447 1633 1920 88 11 0 0
15 1 318504 20740 11820 350668 28	0 600 1129 1653 1680 83 16 0 0
7 1 318504 22736 11804 348768 24	1 813 991 1623 1696 78 21 0 0
18 1 318512 18048 10068 344452 80	1 883 888 1722 1724 85 13 0 1
20 0 318512 21900 9404 332248	4	0 396 409 1466 1732 76 23 0 0
13 3 318512 22756 9248 332660	5	0 540 1468 1619 1650 72 27 0 0
17 0 318512 36936 9372 334728 16	0 659 1405 1767 1586 77 21 0 0
14 5 318512 36836 9500 337392 32	0 888 1077 1855 2171 87 13 0 0
15 0 318512 32324 9724 340040 56	0 956 940 1695 1703 85 14 0 0
15 1 318508 29220 9784 341564	0	0 376 1217 1576 1413 81 18 0 0
11 3 318508 28900 9908 343852	0	0 703 992 1881 2435 82 18 0 0
35 2 318508 29772 10072 345788 52	0 648 1108 1926 2112 88 12 0 0
20 1 318508 29612 9116 318144 148	0 624 1217 1746 2263 85 14 0 0
16 0 318508 21064 9148 320388	0	0 728 320 1369 1343 65 34 0 0
7 3 318508 20756 9176 319400	0	0 493 573 1377 1327 69 30 0 1
24 2 318504 27948 9216 315532 31	0 571 183 1425 1435 79 20 0 0
19 5 318504 57744 9308 317456	1	0 567 1087 1515 1456 73 19 0 6
20 1 318504 40508 9372 318604 17	0 385 1217 1607 1736 82 17 0 0
12 5 318504 45240 9468 320024 19	0 480 883 1507 1857 80 20 0 0
16 3 318504 47488 9588 322080	9	0 585 1405 1883 2038 83 16 0 0
8 2 318500 56772 9736 323880	8	0 596 956 1627 1634 84 15 0 0
26 1 318500 50056 9932 325876	8	0 663 1076 1814 2077 86 13 0 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so	bi	bo in cs us sy id wa
35 1 318500 40812 10072 327476	9	0 523 781 1833 2031 83 16 0 0
28 2 318500 42224 10212 328972	7	0 341 1724 1825 2031 85 14 0 0
22 1 318500 42376 10296 329948	0	0 313 809 1738 1792 86 13 0 0
32 0 318500 41080 10396 331584	0	0 509 1157 2129 2127 86 14 0 0
12 5 318500 41460 10480 333544	5	0 583 1300 2031 2019 88 11 0 0
9 2 318500 43492 10616 335512	0	0 565 1383 1839 1537 82 17 0 0
16 0 318500 42948 10716 336480	3	0 283 816 1812 1626 86 12 0 0
30 1 318500 40384 10776 338076	3	0 501 1444 1808 1651 84 15 0 1
9 1 318500 46044 10864 341192	0	0 996 1279 1706 1422 84 16 0 0
11 0 318500 46708 10988 343760	7	0 788 1459 1861 1884 74 9 2 15
3 0 318500 40196 11076 345572 17	0 587 828 1810 1776 87 12 0 0
9 1 318500 38460 11168 347284	9	0 537 991 1821 1542 86 12 0 1
18 1 318500 35124 11228 350100 19	0 877 1271 1783 1533 83 13 2 1
21 1 318500 35824 11304 351824 560	0 1067 584 1772 1600 84 13 0 2
17 0 318500 31008 11392 354140 75	0 812 1267 1884 1724 86 10 3 1
21 0 318500 30880 11456 355128	1	0 220 1264 1690 1591 89 10 0 0
29 0 318500 22708 11540 355740	7	0 217 632 1599 1549 89 11 0 0
31 0 318500 19596 11552 352604	4	0 280 749 1684 1643 88 11 0 0
12 0 318500 21776 11644 353976	5	0 433 793 1634 1550 86 12 0 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Na pewno działa na worker.

Upewnij się httpd -V

Nie za dużo troche tych php_fcgi_children?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
root@127:/# apache2 -V
Server version: Apache/2.2.11 (Ubuntu)
Server built: Mar 9 2010 21:05:51
Server's Module Magic Number: 20051115:21
Server loaded: APR 1.2.12, APR-Util 1.2.12
Compiled using: APR 1.2.12, APR-Util 1.2.12
Architecture: 32-bit
Server MPM: 	Worker
threaded: 	yes (fixed thread count)
forked: 	yes (variable process count)
Server compiled with....
-D APACHE_MPM_DIR="server/mpm/worker"
-D APR_HAS_SENDFILE
-D APR_HAS_MMAP
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
-D APR_USE_SYSVSEM_SERIALIZE
-D APR_USE_PTHREAD_SERIALIZE
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D APR_HAS_OTHER_CHILD
-D AP_HAVE_RELIABLE_PIPED_LOGS
-D DYNAMIC_MODULE_LIMIT=128
-D HTTPD_ROOT=""
-D SUEXEC_BIN="/usr/lib/apache2/suexec"
-D DEFAULT_PIDLOG="/var/run/apache2.pid"
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
-D DEFAULT_ERRORLOG="logs/error_log"
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Timeout 40

 

KeepAlive On

 

MaxKeepAliveRequests 100

 

KeepAliveTimeout 1

 

<IfModule mpm_worker_module>

ServerLimit 20

StartServers 2

MaxClients 500

MinSpareThreads 25

MaxSpareThreads 75

ThreadsPerChild 25

MaxRequestsPerChild 0

</IfModule>

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Postanowiłem przenieść się na dedyka. Jak narazie śmiga jak rakieta :(

 

Bardzo dziękuję wszystkich za pomoc.

 

Pozdrawiam sedrecznie

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×