Zu Hoher Load Extrem

  • Thread starter Thread starter ENet24
  • Start date Start date
E

ENet24

Guest
also ich habe ein gewaltiges Problem habe einen server der hat 1GB ram und ca: 18 Pagerank Script sind drauf gut besuchte.

der Load Averrage geht teilweise auf 150 bis sogar Spietzen Zeit 1000 hoch
 
1.

/etc/httpd/conf/httpd.conf oder /etc/apache2/server-tuning.conf Einstellungen ändern.
Code:
Timeout 30
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 2 [COLOR="Red"](eventuell auch auf 1)[/COLOR]

HostnameLookups off
und Apache neu starten /etc/init.d/httpd restart

2.

mit
Code:
ps -ylC httpd --sort:rss
oder
Code:
ps axu --sort:command
ermitteln wir wieviele httpd Prozesse wir haben und wieviel RAM diese benötigen.
Code:
S   UID   PID  PPID  C PRI  NI  [COLOR="Red"]RSS[/COLOR]    SZ WCHAN  TTY          TIME CMD
S    48 27683 32483  0  76   0 11576 8011 semtim ?        00:00:00 httpd
S    48 27734 32483  0  76   0 11956 8018 -      ?        00:00:00 httpd
S     0 32483     1  0  76   0 15796 7985 -      ?        00:00:46 httpd
der Wert RSS ist der Speicherverbrauch in KB, hier also 11 MB und 15 MB


3.

nun müssen wir Apache RAM zuweisen. 1 GB stehen zur Verfügung, davon ziehen wir pauschal 125 MB ab für Qmail + Apache (ohne Plesk, Bind, Spamassassin, Dr. Web!). Bleiben noch 875 MB für Apache httpd Prozesse und MySQL.

Angenommen du benötigst 50 httpd Prozesse, dann wären das 55 * 15 ~ 825 MB RAM. Deine /etc/httpd/conf/httpd.conf oder /etc/apache2/server-tuning.conf
könnte dann so aussehen.
Code:
<IfModule prefork.c>
StartServers       5
MinSpareServers    5
MaxSpareServers    10
ServerLimit       50
MaxClients        50 [COLOR="Red"](httpd Prozesse)[/COLOR]
MaxRequestsPerChild  4000
<IfModule>

4.

Für MySQL blieben dann noch ~ 50 MB RAM übrig. Auch hierzu ein Beispiel für die /etc/my.cnf
Code:
[mysqld]

key_buffer = 15M
net_buffer_length = 8K

sort_buffer_size = 32K
myisam_sort_buffer_size = 32K

read_buffer_size = 16K
read_rnd_buffer_size = 32K
join_buffer_size = 512K

query_cache_size = 4M
thread_cache = 32
table_cache = 512
max_allowed_packet = 256K

max_connections = 50
wait_timeout = 30
low_priority_updates = 1
long_query_time = 2
diese Konfiguration benötigt ~ 41 MB RAM

5.

alle nicht benötigten Apache Module mit # ausklammern damit diese nicht mehr beim Start von Apache geladen werden und Resourcen verbrauchen.
 
Last edited by a moderator:
woran machst du fest wie viel Ram ein Apache Server prozess verbraucht. In deiner Rechnung sind es glaub ich 15MB. Ist das festgesetzt oder ist das ein Mittelwert?
 
Mittelwert

mach ein
Code:
ps axu --sort:command
dann siehst du in der Spalte RSS den RAM Verbrauch bei den httpd2 Prozessen.
 
Back
Top