Apache optimieren

Apache, Lighttpd, nginx, Cherokee
Post Reply
sorcerer1
Posts: 12
Joined: 2003-01-08 17:57
 

Apache optimieren

Post by sorcerer1 »

Hi!

Hab mal ne (vielleicht etwas unpassende) frage.

Ich rechne bei einem neuen Projekt, das demnächst geschaltet werden soll mit einer Besucheranzahl von ca. 100 - 500 gleichzeitigen Usern auf meiner Website ( Rootserver L ).

Da es äusserst mir peinlich wäre, wenn der Apache bzw. Mysql unter der Last zusammenbrechen würde, wäre ich für einen kleinen check bzw. kleine Optimierungsratschläge sehr dankbar und bedanke mich jetzt schon fürs durchlesen ;).

Bei den Seitenaufrufen würden ausschließlich php seiten und mysql benutzt ( sowie ein Woltlab burning board ).

Da ich von Webservern nicht so viel Ahnung habe poste ich einfach mal meine Einstellungen bzw. alle die ich kenne.

Code: Select all

Netcraft.com sagt:

Apache/1.3.27 (Unix) mod_throttle/3.0 mod_ssl/2.8.12 OpenSSL/0.9.6g PHP/4.2.3 mod_perl/1.25 mod_layout/1.0 mod_fastcgi/2.2.2 mod_dtcl 

Code: Select all

Mysql Version: mysql  Ver 11.15 Distrib 3.23.37, for suse-linux (i686)
Die meiner Meinung nach wichtigen Mysql Configeinstellungen:

Code: Select all

[mysqld]
set-variable    = key_buffer=16M
set-variable    = max_allowed_packet=1M
set-variable    = table_cache=64
set-variable    = sort_buffer=512K
set-variable    = net_buffer_length=8K
set-variable    = myisam_sort_buffer_size=8M
log-bin

[isamchk]
set-variable    = key_buffer=20M
set-variable    = sort_buffer=20M
set-variable    = read_buffer=2M
set-variable    = write_buffer=2M

[myisamchk]
set-variable    = key_buffer=20M
set-variable    = sort_buffer=20M
set-variable    = read_buffer=2M
set-variable    = write_buffer=2M

[mysqlhotcopy]
interactive-timeout
Die meiner Meinung nach wichtigen Apache Einstellungen:

Code: Select all

#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
KeepAlive On
MaxKeepAliveRequests 200
KeepAliveTimeout 15
MinSpareServers 1
MaxSpareServers 1
StartServers 1
MaxClients 300
MaxRequestsPerChild 0
LoadModule mmap_static_module /usr/lib/apache/mod_mmap_static.so
LoadModule vhost_alias_module /usr/lib/apache/mod_vhost_alias.so
LoadModule env_module         /usr/lib/apache/mod_env.so
LoadModule define_module      /usr/lib/apache/mod_define.so
LoadModule config_log_module  /usr/lib/apache/mod_log_config.so
LoadModule agent_log_module   /usr/lib/apache/mod_log_agent.so
LoadModule referer_log_module /usr/lib/apache/mod_log_referer.so
LoadModule mime_magic_module  /usr/lib/apache/mod_mime_magic.so
LoadModule mime_module        /usr/lib/apache/mod_mime.so
LoadModule negotiation_module /usr/lib/apache/mod_negotiation.so
LoadModule status_module      /usr/lib/apache/mod_status.so
LoadModule info_module        /usr/lib/apache/mod_info.so
LoadModule includes_module    /usr/lib/apache/mod_include.so
LoadModule autoindex_module   /usr/lib/apache/mod_autoindex.so
LoadModule dir_module         /usr/lib/apache/mod_dir.so
LoadModule cgi_module         /usr/lib/apache/mod_cgi.so
LoadModule asis_module        /usr/lib/apache/mod_asis.so
LoadModule imap_module        /usr/lib/apache/mod_imap.so
LoadModule action_module      /usr/lib/apache/mod_actions.so
LoadModule speling_module     /usr/lib/apache/mod_speling.so
LoadModule userdir_module     /usr/lib/apache/mod_userdir.so
LoadModule alias_module       /usr/lib/apache/mod_alias.so
LoadModule rewrite_module     /usr/lib/apache/mod_rewrite.so
LoadModule access_module      /usr/lib/apache/mod_access.so
LoadModule auth_module        /usr/lib/apache/mod_auth.so
LoadModule anon_auth_module   /usr/lib/apache/mod_auth_anon.so
LoadModule dbm_auth_module    /usr/lib/apache/mod_auth_dbm.so
LoadModule db_auth_module     /usr/lib/apache/mod_auth_db.so
LoadModule digest_module      /usr/lib/apache/mod_digest.so
LoadModule proxy_module       /usr/lib/apache/libproxy.so
LoadModule cern_meta_module   /usr/lib/apache/mod_cern_meta.so
LoadModule expires_module     /usr/lib/apache/mod_expires.so
LoadModule headers_module     /usr/lib/apache/mod_headers.so
LoadModule usertrack_module   /usr/lib/apache/mod_usertrack.so
LoadModule unique_id_module   /usr/lib/apache/mod_unique_id.so
LoadModule setenvif_module    /usr/lib/apache/mod_setenvif.so
<IfDefine DUMMYSSL>
LoadModule ssl_module         /usr/lib/apache/libssl.so
LoadModule php4_module        /usr/lib/apache/libphp4.so
</IfDefine>
ClearModuleList
AddModule mod_mmap_static.c
AddModule mod_vhost_alias.c
AddModule mod_env.c
AddModule mod_define.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
AddModule mod_auth_dbm.c
AddModule mod_auth_db.c
AddModule mod_digest.c
AddModule mod_proxy.c
AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
<IfDefine DUMMYSSL>
AddModule mod_ssl.c
AddModule mod_php4.c
</IfDefine>

ExtendedStatus On
    Options Indexes -FollowSymLinks +Includes MultiViews
    AllowOverride None
HostnameLookups Off
LogLevel warn
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
CustomLog /var/log/httpd/access_log combined
ServerSignature On
Vielen Dank!

Thomas
[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36
 

Re: Apache optimieren

Post by [nix]pepe »

mmmh, mehr arbeitspeicher würd dir helfen!!!
squize
Userprojekt
Userprojekt
Posts: 729
Joined: 2003-05-19 16:46
Location: Karlsruhe
Contact:
 

Re: Apache optimieren

Post by squize »

Wenn deine Besucher hauptsächlich Datenbankrequests erzeugen, kannst du auch einen Haufen Performancegewinn durch Querycaching erreichen, musst aber auf Mysql 4.xx umsteigen.
Zudem empfiehlt es sich für PHP einen Accelarator einzusetzen, da gibt es mehrere:

Zend Performance Suite (http://www.zend,com, kommerziell)
PHP Accelarator (http://www.php-accelerator.co.uk/,frei kein Quellcode )
Turck MMCache (http://www.turcksoft.com/en/e_mmc.htm, GPL )
Alternative PHP Cache (http://apc.communityconnect.com/, Open S.)

Ich benutze zur Zeit Turck MMCache und kann ihn nur jedem empfehlen.

Sonst ist es halt wichtig, dass du versuchst schon in der Plannung eine Site aufzustellen,die möglichst resourcenschonend arbeitet ( SQL-Queries optimieren, Indices, Datenmodell ........)

Gruss

Marc
sorcerer1
Posts: 12
Joined: 2003-01-08 17:57
 

Re: Apache optimieren

Post by sorcerer1 »

Hallo,

meistens wird eh fast nur PHP benutzt. Die Seite ist meiner Meinung nach sehr ressourcen sparend programmiert.

Hat jemand ansonsten noch einen Rat zu den Apache/Mysql Settings?

Danke!
rob
Posts: 82
Joined: 2002-06-03 21:53
Location: Brandenburg
Contact:
 

Re: Apache optimieren

Post by rob »

Sorcerer1 wrote: MinSpareServers 1
MaxSpareServers 1
StartServers 1
Siehe http://thingy.kcilink.com/modperlguide/ ... axSpa.html

Oder halt http://www.google.de/search?q=MinSpareS ... l=de&meta=
sorcerer1
Posts: 12
Joined: 2003-01-08 17:57
 

Re: Apache optimieren

Post by sorcerer1 »

So, hab die werte mal auf:

Code: Select all

MinSpareServers 5
MaxSpareServers 5
StartServers 5
MaxClients 500
Wenn das das schlechteste ist, was man machen konnte dann bitte hier reinschreiben ;)
Post Reply