[+] Apache2, długo ładująca się strona
: 05 listopada 2012, 15:52
Od paru tygodni nurtuje mnie dosyć ciekawy przypadek, długo ładującej się strony https na moim serwerze apache2. Mianowicie, po przekroczeniu parametru ,,KeepAliveTimeout'' ustawionego na 15 bardzo długo ładuje się strona (,,page speed'' pokazuje mi parametr oczekiwania około 5 sekund).
Gdy wartość limitu czasu utrzymania aktywności (ang. keep alive time out) trzyma sesję ładowanie strony to kwestia ułamka sekund. Przeglądałem różne fora w celu rozwiązania problemu, ale nie natrafiłem zbytnio na odpowiedź. Zapytania DNS wykluczam, wyłączyłem także wszelkie javascripty i bez efektu. Optymalizację strony pomijam (myślę, że nie tu leży problem). Jedynie manipulowanie parametrem wartości limitu czasu utrzymania aktywności strony powoduje jakiekolwiek zmiany, ale z powodu bezpieczeństwa nie ustawię tego przecież na więcej (mogę tym sposobem zarżnąć serwer). Może mam jakąś błędną konfigurację, przestarzałe moduły?
Pytanie kieruje do osób, które spotkały się z podobnym problem lub mogą mi pomóc w rozwiązaniu problemu.
Z góry serdecznie dziękuję za poświęcony czas.
Moja konfiguracja:
Ustawiania Apache2:
Gdy wartość limitu czasu utrzymania aktywności (ang. keep alive time out) trzyma sesję ładowanie strony to kwestia ułamka sekund. Przeglądałem różne fora w celu rozwiązania problemu, ale nie natrafiłem zbytnio na odpowiedź. Zapytania DNS wykluczam, wyłączyłem także wszelkie javascripty i bez efektu. Optymalizację strony pomijam (myślę, że nie tu leży problem). Jedynie manipulowanie parametrem wartości limitu czasu utrzymania aktywności strony powoduje jakiekolwiek zmiany, ale z powodu bezpieczeństwa nie ustawię tego przecież na więcej (mogę tym sposobem zarżnąć serwer). Może mam jakąś błędną konfigurację, przestarzałe moduły?
Pytanie kieruje do osób, które spotkały się z podobnym problem lub mogą mi pomóc w rozwiązaniu problemu.
Z góry serdecznie dziękuję za poświęcony czas.
Moja konfiguracja:
Kod: Zaznacz cały
php -vPHP 5.3.3-7+squeeze14 with Suhosin-Patch (cli) (built: Aug 6 2012 14:18:06)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
Kod: Zaznacz cały
Linux Debian 6.0.6 2.6.32-5-amd64
Kod: Zaznacz cały
Apache/2.2.16 (Debian)
Wersja klienta MySQL: 5.1.63
Kod: Zaznacz cały
ServerRoot "/etc/apache2"
LockFile /var/lock/apache2/accept.lock
# Timeout: The number of seconds before receives and sends time out.
Timeout 300
# 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 200
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#domyślnie 15
KeepAliveTimeout 15
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/error.log
LogLevel warn
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
# Include ports listing
Include /etc/apache2/ports.conf
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
#
# Define an access log for VirtualHosts that don't define their own logfile
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
# Include generic snippets of statements
Include /etc/apache2/conf.d/
# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/
KeepAlive On