Server wird nach und nach langsamer

haschi

Registered User
Moin!

Nutze Debian 3.1 Sarge, Apache 2, MySql 4.1.11

Der Server läuft soweit super. Nur nach ca. 3-4 Wochen nach einem Neustart, wird er verdammt langsam. Geht teilweise soweit, dass er nur sehr sehr schlecht erreichbar ist. Manchmal nur durch einen Reset wieder.

In den Logs finde ich nichts unnormales. Ich kann auch nicht direkt orten, an welchem Dienst es jetzt liegt.

Auf dem Server läuft ein Forum mit ca. 700.000 Aufrufen.

WOran könnte es liegen? Cache?

Ich wäre dankbar für eure Hilfe! :D

Gruß
Marco
 
Also wenn nur die Websiten sehr langsam sind und sonst der Server unter "uptime" nix nahe 6 bringt dann würde ich mal sagen das deine SQL Base dicht ist bzw. gnadenlos überfüllt!

Greetz Centro
 
Man kann dann irgendwann auch nicht über SSH zugreifen..

Wie kann ich MySQL "entschlacken" bzw herrausfinden, woran es liegt?
 
Hmm... dann sieht die Sache schon ein wenig anders aus.

Mich drückt das Gefühl das es weniger an deinem Server liegt als an dem Netz an dem er hängt.

Die Auslastung des Servers würde ich über Tools wie: SrvReport beobachten.
Daran müsstest du auch sehen ob dein Server wirklich zu langsam wird oder obs doch was anderes ist.

Also per SSH Schwierigkeiten zu haben is schon komisch wenn nicht gerade:
- Ein Megabackup alle nur erdenklichen Resourcen frist
- Die Internetanbindung abgetötet ist/wurde

Greetz Centro
 
mit
Code:
top
CPU Auslastung ect. checken

 
Danke für die Antworten!

Die Auslastung des Servers würde ich über Tools wie: SrvReport beobachten.
Daran müsstest du auch sehen ob dein Server wirklich zu langsam wird oder obs doch was anderes ist.

Werd ich mal installieren und beobachten. An der Verbindung hab ich auch schon gedacht, nur merkwürdig dass es dann nur der eine Server ist. Ein Server im gleichen IP-Range ist dann weiter erreichbar.

Code:
top
CPU Auslastung ect. checken

Wenn ich mich dann noch per SSH einloggen kann, beobachte ich mit top schon die Auslastung und Aktivität. Nur ist der Refresh teils extrem verzögert.

Gruß
Marco
 
So, da haben wir es.. Nach genau 21 Tagen steht er. Da reine HTML-Seiten wunderbar aufgebaut werden, und nur Seiten, wo ein Datenbankzugriff erfolgt, Fehler kommen, kann ich nun davon ausgehen, dass das Problem mit MySQL zusammenhängt. PHP scheinbar auch nicht, wie ich grad festelle.....

WIe kann ich jetzt herausfinden, woran es genau liegt?!

Der Zugriff via SSH dauert ewig. Der Login hat jetzt, nach ca. 10 Minuten warten funktioniert. Jeder Befehel braucht erstmal ne kurze Zeit.. Hmm..
Ping und Tracert sehen wunderbar aus.
 
Last edited by a moderator:
top
ps aux
SHOW PROCESSLIST; (SQL Befehl)

Diese Ausgaben wäre interessant. Und dann schau dir noch den Link an, den noto gepostet hat.
 
Na, leider hat es nicht mehr geklappt. Konnte gar nicht mehr auf den Server zugreifen.. :( nach 2,5 Stunden hab ich dann wieder nen Reset machen müssen.

Hab mir grad mal die Logs angesehen, jedoch nichts gefunden, was nicht normal ist.

Was mich ein wenig wundert ist, dass es so ziemlich immer genau nach 3 Wochen vorkommt. Es gibt aber keinen CRON der in diesem Zeitraum läuft.

Ich weiß erstmal nicht weiter. Wo könnte ich denn jetzt ansetzen, um den Fehler ein wenig einzugrenzen?
 
Hab jetzt das tuning-primer-sript ausgeführt und hier und da bereits etwas angepasst. Nur diesen Eintrag versteh ich nun nicht ganz:

Code:
[COLOR="Blue"]TEMP TABLES[/COLOR]
[COLOR="Silver"]Current max_heap_table_size = 64 M[/COLOR]
[COLOR="Silver"]Current tmp_table_size = 64 M[/COLOR]
[COLOR="Silver"]Of 12522 temp tables, 56% were created on disk[/COLOR]
[COLOR="SandyBrown"]Perhaps you should increase your tmp_table_size and/or max_heap_table_size
to reduce the number of disk-based temporary tables[/COLOR]
[COLOR="Yellow"]Note! BLOB and TEXT columns are not allow in memory tables.
If you are using these columns raising these values might not impact your
ratio of on disk temp tables.[/COLOR]

Hab die Größen mehrmals verändert, nur weiß ich jetzt nicht, was die richtige Angabe ist. Das Manual sagt mir da jetzt nicht direkt was zu, auch Google bringt mir keine Information, was ich jetzt auf anhieb verstanden habe und anwenden könnte.
 
die beiden wichtigsten Variablen sind
Code:
key_buffer_size
table_open_cache
und
Code:
query_cache_size

MySQL Referenz liefert auch keine brauchbaren Antworten zu tmp_table size.

Optimizing MySQL Variables. Ich suche mal weiter nach tmp_table_size
Code:
tmp_table_size

This variable determines the maximum size for a temporary table in memory.
If the table becomes too large, a MYISAM table is created on disk. [COLOR="Red"]Try to
avoid temporary tables by optimizing the queries[/COLOR] where possible, but where
this is not possible, try to ensure temporary tables are always stored in memory. 

Watching the processlist for queries with temporary tables that take too long to
resolve can give you an early warning that tmp_table_size needs to be upped. 
Be aware that memory is also allocated per-thread.

[COLOR="Blue"]An example where upping this worked for more was a server
where I upped this from 32MB (the default) to 64MB with immediate effect.[/COLOR]
The quicker resolution of queries resulted in less threads being active at any 
one time, with all-round benefits for the server, and available memory.
bevor man tmp_table_size erhöht, sollte man temporary tables vermeiden indem man die queries optimiert.
 
Last edited by a moderator:
Variables die du nicht in der my.cnf begrenzt werden auf Standardwerte gesetzt. Werte für Variable und Anweisungen können auch im PHP Script selbst angegeben werden. Wordpress wurde ja in Zusammenarbeit mit den MySQL Machern extra nochmal optimiert. War glaub ich ab Wordpress 2.0.1 oder so...


HEAP Tabellen

Bestimmte Queries und z.B. Sessions (von Foren) werden in Temp Tables vom Typ HEAP geschrieben (also in den RAM). HEAP Tables sind aber von der Zeilenanzahl begrenzt (max_heap_table_size) und werden bei überschreiten der Zeilenanzahl automatisch in MyISAM Tables konvertiert (also auf Festplatte 'swap' geschrieben).

max_heap_table_size zu erhöhen scheint nicht wirklich was zu bringen, da egal wie hoch der Wert eingestellt wurde, die HEAP Tabelle irgendwann voll ist und als MyISAM auf 'swap' (Festplatte) geschrieben wird. Zudem werden Queries wie ORDER BY und GROUP BY bei TEXT oder BLOB Spalten nicht von der HEAP Speicherengine unterstützt und generell als MyISAM Tabelle auf Festplatte geschrieben

Hier ein Beitrag zum Thema HEAP in einem Blog

Scheinbar sollen die Variables max_heap_table_size und tmp_table_size einen Bug haben. rofl

Und hier noch ein sehr guter Beitrag zu HEAP

?

hmm ... eigentlich muss man ja nur die Swap Datei anschauen und um deren Betrag die max_heap_table_size Variable erhöhen oder? Mal testen...
 
Last edited by a moderator:
Hab da noch ne Frage.

Ich habe jetzt key_buffer_size auf von 64MB auf 128MB gesetzt. Er ist jetzt zu 100% gefüllt.

Wo ist denn da die Grenze? Wird der Cache immer nur gefüllt oder auch mal geleert, wenn alte Daten vorhanden sind? Mir kommt es jetzt vor, als wenn er nur vollgeprügelt wird..

Gruß
Marco
 
Macht es Sinn, den MySQL-Server per Cronjob einmal am Tag neuzustarten? Nach 18 Stunden ist der Key Buffer (128MB) zu 99% voll.

Swap ist 301MB groß (Gesamt 2GB). CPU load average liegt so im Durchschnitt bei 0.8 - 2.5.

So ganz geheuer ist es mir nicht, da er anscheinend (hab es selber nicht mitbekommen) gestern wieder hing.

In den Logs kein Eintrag über irgendwelche Unregelmäßigkeiten, Seiten wurden nicht aufgebaut, wohl auch kein Mailversand möglich.

Hilfe?! :confused:

ps aux sagt folgendes:
Code:
USER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  2576  448 ?        S    May06   0:00 init [2]
root         2  0.0  0.0     0    0 ?        S    May06   0:00 [migration/0]
root         3  0.0  0.0     0    0 ?        SN   May06   0:00 [ksoftirqd/0]
root         4  0.0  0.0     0    0 ?        S<   May06   0:00 [events/0]
root         5  0.0  0.0     0    0 ?        S<   May06   0:00  \_ [khelper]
root         6  0.0  0.0     0    0 ?        S<   May06   0:00  \_ [kacpid]
root        30  0.0  0.0     0    0 ?        S<   May06   0:03  \_ [kblockd/0]
root        44  0.0  0.0     0    0 ?        S    May06   0:00  \_ [pdflush]
root        46  0.0  0.0     0    0 ?        S<   May06   0:00  \_ [aio/0]
root       199  0.0  0.0     0    0 ?        S<   May06   0:00  \_ [xfslogd/0]
root       200  0.0  0.0     0    0 ?        S<   May06   0:00  \_ [xfsdatad/0]
root       208  0.0  0.0     0    0 ?        S<   May06   0:00  \_ [ata/0]
root      2105  0.0  0.0     0    0 ?        S    16:27   0:00  \_ [pdflush]
root        31  0.0  0.0     0    0 ?        S    May06   0:00 [khubd]
root        45  0.0  0.0     0    0 ?        S    May06   0:35 [kswapd0]
root       181  0.0  0.0     0    0 ?        S    May06   0:00 [kseriod]
root       201  0.0  0.0     0    0 ?        S    May06   0:00 [xfsbufd]
root       209  0.0  0.0     0    0 ?        S    May06   0:00 [scsi_eh_0]
root       210  0.0  0.0     0    0 ?        S    May06   0:00 [scsi_eh_1]
root       337  0.0  0.0     0    0 ?        S    May06   0:04 [kjournald]
root       586  0.0  0.0     0    0 ?        S    May06   0:01 [kjournald]
root       587  0.0  0.0     0    0 ?        S    May06   0:00 [kjournald]
root      1788  0.0  0.0  3648  576 ?        Ss   May06   0:00 /sbin/syslogd
root      1791  0.0  0.0  3960  500 ?        Ss   May06   0:00 /sbin/klogd
bind      1799  0.0  0.4 45492 4472 ?        Ss   May06   0:00 /usr/sbin/named -u bind
postgrey  1828  0.0  0.3 33596 4060 ?        Ss   May06   0:00 /usr/sbin/postgrey --pidfile=/var/run/postgrey.pid --daemonize --inet=127.0.0.1:60000
root      1832  0.0  0.1 64480 1128 ?        Ss   May06   0:00 /usr/sbin/spamd --create-prefs --max-children 5 --helper-home-dir -d --pidfile=/var/run/spamd.
root      1840  0.0  0.1 64480 1128 ?        S    May06   0:00  \_ spamd child
root      1841  0.0  0.1 64480 1128 ?        S    May06   0:00  \_ spamd child
root      1842  0.0  0.1 64480 1128 ?        S    May06   0:00  \_ spamd child
root      1843  0.0  0.1 64480 1128 ?        S    May06   0:00  \_ spamd child
root      1844  0.0  0.1 64480 1128 ?        S    May06   0:00  \_ spamd child
clamav    1845  0.0  1.4 90572 15344 ?       Ss   May06   0:05 /usr/sbin/clamd
clamav    1886  0.0  0.1 21944 1156 ?        Ss   May06   0:00 /usr/bin/freshclam -d --quiet -p /var/run/clamav/freshclam.pid
root      1891  0.0  0.0  3788  388 ?        S    May06   0:00 /usr/sbin/courierlogger -pid=/var/run/courier/authdaemon/pid -start /usr/lib/courier/authlib/a
root      1892  0.0  0.0  7004  444 ?        S    May06   0:00  \_ /usr/lib/courier/authlib/authdaemond.plain
root      1902  0.0  0.0  7416  456 ?        S    May06   0:00      \_ /usr/lib/courier/authlib/authdaemond.plain
root      1903  0.0  0.0  7416  452 ?        S    May06   0:00      \_ /usr/lib/courier/authlib/authdaemond.plain
root      1904  0.0  0.1  7416 1056 ?        S    May06   0:00      \_ /usr/lib/courier/authlib/authdaemond.plain
root      1905  0.0  0.1  7416 1060 ?        S    May06   0:00      \_ /usr/lib/courier/authlib/authdaemond.plain
root      1906  0.0  0.1  7416 1060 ?        S    May06   0:00      \_ /usr/lib/courier/authlib/authdaemond.plain
root      1898  0.0  0.0  5944  444 ?        S    May06   0:00 /usr/sbin/couriertcpd -address=0 -stderrlogger=/usr/sbin/courierlogger -maxprocs=40 -maxperip=
root      1900  0.0  0.0  3788  388 ?        S    May06   0:00 /usr/sbin/courierlogger imaplogin
root      1911  0.0  0.0  5944  508 ?        S    May06   0:00 /usr/sbin/couriertcpd -pid=/var/run/courier/pop3d.pid -stderrlogger=/usr/sbin/courierlogger -m
root      1913  0.0  0.0  3788  460 ?        S    May06   0:00 /usr/sbin/courierlogger courierpop3login
root      1982  0.0  0.0  2560  352 ?        Ss   May06   0:00 /usr/sbin/inetd
root      2168  0.0  0.0 15400  896 ?        Ss   May06   0:00 /usr/lib/postfix/master
postfix   2170  0.0  0.1 16600 1076 ?        S    May06   0:00  \_ qmgr -l -t fifo -u -c
postfix  32288  0.0  0.0 16440  984 ?        S    15:32   0:00  \_ pickup -l -t fifo -u -c
postfix   2633  0.0  0.1 17072 1604 ?        S    16:39   0:00  \_ trivial-rewrite -n rewrite -t unix -u -c
postfix  11175  0.0  0.2 32528 2776 ?        S    16:57   0:00  \_ smtpd -n smtp -t inet -u -c -s 2
root      2177  0.0  0.1 31716 1108 ?        Ss   May06   0:00 /usr/sbin/saslauthd -a pam sasldb
root      2178  0.0  0.1 31716 1108 ?        S    May06   0:00  \_ /usr/sbin/saslauthd -a pam sasldb
root      2180  0.0  0.1 31716 1108 ?        S    May06   0:00  \_ /usr/sbin/saslauthd -a pam sasldb
root      2181  0.0  0.1 31716 1108 ?        S    May06   0:00  \_ /usr/sbin/saslauthd -a pam sasldb
root      2182  0.0  0.1 31716 1108 ?        S    May06   0:00  \_ /usr/sbin/saslauthd -a pam sasldb
root      2187  0.0  0.1 18208 1172 ?        Ss   May06   0:00 /usr/sbin/sshd
root      6473  0.0  0.2 38412 2160 ?        Ss   16:49   0:00  \_ sshd: root@notty
root      6500  0.0  0.1 14696 1280 ?        Ss   16:49   0:00  |   \_ /usr/lib/sftp-server
root      6517  0.0  0.2 38412 2180 ?        Ss   16:49   0:00  \_ sshd: root@pts/0
root      6528  0.0  0.1 13140 1944 pts/0    Ss   16:49   0:00      \_ -bash
root     11304  0.0  0.0  8708  972 pts/0    R+   16:57   0:00          \_ ps -auxf
root      2199  0.0  0.4 11144 4788 ?        SLs  May06   0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid
nobody    2206  0.0  0.1 20908 1440 ?        Ss   May06   0:00 proftpd: (accepting connections)
root      2211  0.0  0.0  8992  776 ?        Ss   May06   0:00 /usr/sbin/cron
root      2217  0.0  0.4 88640 4904 ?        Ss   May06   0:01 /usr/sbin/apache2 -k start -DSSL
root      2221  0.0  0.0  9860  596 ?        S    May06   0:00  \_ /usr/bin/perl /root/srvreport-0.71/bin/pipelog.pl
www-data  2391  0.9  2.8 113452 28860 ?      S    16:34   0:13  \_ /usr/sbin/apache2 -k start -DSSL
www-data  2586  3.5  2.8 113136 28668 ?      S    16:39   0:39  \_ /usr/sbin/apache2 -k start -DSSL
www-data  2600  1.4  2.6 111984 27236 ?      S    16:39   0:15  \_ /usr/sbin/apache2 -k start -DSSL
www-data  2607  1.1  2.7 112980 28332 ?      S    16:39   0:12  \_ /usr/sbin/apache2 -k start -DSSL
www-data  2765  1.4  2.7 112972 28444 ?      S    16:40   0:15  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3237  4.2  2.8 113472 28948 ?      S    16:42   0:40  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3636  5.1  2.9 114748 30148 ?      S    16:43   0:45  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3676  4.3  2.8 114388 28732 ?      S    16:43   0:37  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3916  4.7  2.6 112324 27592 ?      S    16:43   0:40  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3917  4.5  2.9 115136 30500 ?      S    16:43   0:38  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3924  4.8  2.7 112920 28516 ?      S    16:43   0:40  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3947  4.5  2.7 113456 28036 ?      S    16:43   0:37  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3948  5.2  2.7 112824 28184 ?      R    16:43   0:43  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3953  0.7  2.8 113796 29108 ?      S    16:43   0:06  \_ /usr/sbin/apache2 -k start -DSSL
www-data  3956  4.4  2.8 113860 29420 ?      S    16:43   0:37  \_ /usr/sbin/apache2 -k start -DSSL
www-data  5076  4.8  2.8 113764 29016 ?      S    16:46   0:32  \_ /usr/sbin/apache2 -k start -DSSL
www-data  5081  1.3  2.7 113396 28532 ?      S    16:46   0:09  \_ /usr/sbin/apache2 -k start -DSSL
www-data  6223  5.0  2.7 113156 28408 ?      S    16:48   0:27  \_ /usr/sbin/apache2 -k start -DSSL
www-data  6228  6.7  2.7 113136 28576 ?      S    16:48   0:36  \_ /usr/sbin/apache2 -k start -DSSL
www-data  7922  1.4  2.7 112820 27948 ?      S    16:51   0:05  \_ /usr/sbin/apache2 -k start -DSSL
www-data  7943  2.1  2.8 113620 29172 ?      S    16:51   0:08  \_ /usr/sbin/apache2 -k start -DSSL
www-data 11128  1.3  2.2 108344 23388 ?      S    16:57   0:00  \_ /usr/sbin/apache2 -k start -DSSL
www-data 11141  2.0  2.5 111372 26396 ?      S    16:57   0:00  \_ /usr/sbin/apache2 -k start -DSSL
www-data 11142  2.1  2.5 111380 26424 ?      S    16:57   0:00  \_ /usr/sbin/apache2 -k start -DSSL
root      2227  0.0  0.0  2556  400 ?        S    May06   0:00 /var/www/vhcs2/daemon/vhcs2_daemon -p /var/run/vhcs2-daemon.pid
root      2242  0.0  0.2 33404 2060 ?        Ss   May06   0:00 /usr/bin/perl /usr/share/usermin/miniserv.pl /etc/usermin/miniserv.conf
root      2263  0.0  0.2 34308 2824 ?        Ss   May06   0:00 /usr/bin/perl /usr/share/webmin/miniserv.pl /etc/webmin/miniserv.conf
root      8516  0.0  0.0     0    0 ?        Z    16:52   0:00  \_ [miniserv.pl] <defunct>
root      8522  0.0  0.0     0    0 ?        Z    16:52   0:00  \_ [miniserv.pl] <defunct>
root      2264  0.0  0.0  2568  408 tty1     Ss+  May06   0:00 /sbin/getty 38400 tty1
root      2265  0.0  0.0  2568  408 tty2     Ss+  May06   0:00 /sbin/getty 38400 tty2
root      2266  0.0  0.0  2568  408 tty3     Ss+  May06   0:00 /sbin/getty 38400 tty3
root      2267  0.0  0.0  2568  408 tty4     Ss+  May06   0:00 /sbin/getty 38400 tty4
root      2268  0.0  0.0  2568  408 tty5     Ss+  May06   0:00 /sbin/getty 38400 tty5
root      2274  0.0  0.0  2568  408 tty6     Ss+  May06   0:00 /sbin/getty 38400 tty6
root      5996  0.0  0.1  8700 1024 ?        S    May06   0:00 /bin/sh /usr/bin/mysqld_safe
mysql     6033  0.0  7.3 268268 74776 ?      S    May06   0:03  \_ /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/
root      6034  0.0  0.0  4420  472 ?        S    May06   0:00  \_ logger -p daemon.err -t mysqld_safe -i -t mysqld
amavis    6080  0.0  0.1 59352 1680 ?        Ss   May06   0:00 amavisd (master)
amavis   32439  0.0  1.1 59628 12096 ?       S    15:37   0:00  \_ amavisd (child)
amavis   32521  0.0  1.2 59628 12296 ?       S    15:41   0:00  \_ amavisd (child)

top siehe Anhang.

apache2.conf
Code:
# Based upon the NCSA server configuration files originally by Rob McCool.
# Changed extensively for the Debian package by Daniel Stone <daniel@sfarc.net>
# and also by Thom May <thom@debian.org>.

# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE!  If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the LockFile documentation
# (available at <URL:http://www.apache.org/docs/mod/core.html#lockfile>);
# you will save yourself a lot of trouble.

ServerRoot "/etc/apache2"

# The LockFile directive sets the path to the lockfile used when Apache
# is compiled with either USE_FCNTL_SERIALIZED_ACCEPT or
# USE_FLOCK_SERIALIZED_ACCEPT. This directive should normally be left at
# its default value. The main reason for changing it is if the logs
# directory is NFS mounted, since the lockfile MUST BE STORED ON A LOCAL
# DISK. The PID of the main server process is automatically appended to
# the filename. 

LockFile /var/lock/apache2/accept.lock

# PidFile: The file in which the server should record its process
# identification number when it starts.

PidFile /var/run/apache2.pid

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

Timeout 120

# 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

##
## Server-Pool Size Regulation (MPM specific)
## 

# prefork MPM
# StartServers ......... number of server processes to start
# MinSpareServers ...... minimum number of server processes which are kept spare
# MaxSpareServers ...... maximum number of server processes which are kept spare
# MaxClients ........... maximum number of server processes allowed to start
# MaxRequestsPerChild .. maximum number of requests a server process serves
<IfModule prefork.c>
StartServers        15
MinSpareServers      5
MaxSpareServers     20
ServerLimit        300
MaxClients         300
MaxRequestsPerChild  10000</IfModule>

# pthread MPM
# StartServers ......... initial  number of server processes to start
# MaxClients ........... maximum  number of server processes allowed to start
# MinSpareThreads ...... minimum  number of worker threads which are kept spare
# MaxSpareThreads ...... maximum  number of worker threads which are kept spare
# ThreadsPerChild ...... constant number of worker threads in each server process
# MaxRequestsPerChild .. maximum  number of requests a server process serves
<IfModule worker.c>
StartServers        5
MaxClients         150 
MinSpareThreads     25
MaxSpareThreads     75
ThreadsPerChild     25
MaxRequestsPerChild  0
</IfModule>

# perchild MPM
# NumServers ........... constant number of server processes
# StartThreads ......... initial  number of worker threads in each server process
# MinSpareThreads ...... minimum  number of worker threads which are kept spare
# MaxSpareThreads ...... maximum  number of worker threads which are kept spare
# MaxThreadsPerChild ... maximum  number of worker threads in each server process
# MaxRequestsPerChild .. maximum  number of connections per server process (then it dies)
<IfModule perchild.c>
NumServers           10
StartThreads         5
MinSpareThreads      5
MaxSpareThreads     10
MaxThreadsPerChild  20
MaxRequestsPerChild  0
AcceptMutex fcntl
</IfModule>

User www-data
Group www-data

# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
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


# Global error log.
ErrorLog /var/log/apache2/error.log

# 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

# Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*

#Let's have some Icons, shall we?
Alias /icons/ "/usr/share/apache2/icons/"
<Directory "/usr/share/apache2/icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

# Set up the default error docs.
#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html
#

#
# Putting this all together, we can Internationalize error responses.
#
# We use Alias to redirect any /error/HTTP_<error>.html.var response to
# our collection of by-error message multi-language collections.  We use 
# includes to substitute the appropriate text.
#
# You can modify the messages' appearance without changing any of the
# default HTTP_<error>.html.var files by adding the line;
#
#   Alias /error/include/ "/your/include/path/"
#
# which allows you to create your own set of files by starting with the
# /usr/local/apache2/error/include/ files and
# copying them to /your/include/path/, even on a per-VirtualHost basis.
#

<IfModule mod_negotiation.c>
<IfModule mod_include.c>
    Alias /error/ "/usr/share/apache2/error/"

    <Directory "/usr/share/apache2/error">
        AllowOverride None
        Options IncludesNoExec
        AddOutputFilter Includes html
        AddHandler type-map var
        Order allow,deny
        Allow from all
        LanguagePriority en es de fr
        ForceLanguagePriority Prefer Fallback
    </Directory>

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var
    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
    ErrorDocument 410 /error/HTTP_GONE.html.var
    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
    ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

</IfModule>
</IfModule>

DirectoryIndex index.html index.cgi index.pl index.php index.xhtml

# UserDir is now a module
#UserDir public_html
#UserDir disabled root

#<Directory /home/*/public_html>
#	AllowOverride FileInfo AuthConfig Limit
#	Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#</Directory>

AccessFileName .htaccess

<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

UseCanonicalName Off

TypesConfig /etc/mime.types
DefaultType text/plain

HostnameLookups Off

IndexOptions FancyIndexing VersionSort

AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*

# This really should be .jpg.

AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core

AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^


# This is from Matty J's patch. Anyone want to make the icons?
#AddIcon /icons/dirsymlink.jpg ^^SYMDIR^^
#AddIcon /icons/symlink.jpg ^^SYMLINK^^

DefaultIcon /icons/unknown.gif

ReadmeName README.html
HeaderName HEADER.html

IndexIgnore .??* *~ *# HEADER* RCS CVS *,t

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz

AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw

LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw


#AddDefaultCharset	ISO-8859-1

AddCharset ISO-8859-1  .iso8859-1  .latin1
AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen
AddCharset ISO-8859-3  .iso8859-3  .latin3
AddCharset ISO-8859-4  .iso8859-4  .latin4
AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru
AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb
AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk
AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb	
AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5        .Big5       .big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251   .win-1251
AddCharset CP866       .cp866
AddCharset KOI8-r      .koi8-r .koi8-ru
AddCharset KOI8-ru     .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8       .utf8

AddCharset GB2312      .gb2312 .gb 
AddCharset utf-7       .utf7
AddCharset utf-8       .utf8
AddCharset big5	       .big5 .b5
AddCharset EUC-TW      .euc-tw	
AddCharset EUC-JP      .euc-jp
AddCharset EUC-KR      .euc-kr
AddCharset shift_jis   .sjis

AddType application/x-httpd-php .php .php3 .php4
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php index.php3 index.php4

AddType application/x-tar .tgz

# To use CGI scripts outside /cgi-bin/:
#
#AddHandler cgi-script .cgi

# To use server-parsed HTML files
#
<FilesMatch "\.shtml(\..+)?$">
    SetOutputFilter INCLUDES
</FilesMatch>

# If you wish to use server-parsed imagemap files, use
#
#AddHandler imap-file map

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0

#
# The following directive disables redirects on non-GET requests for
# a directory that does not include the trailing slash.  This fixes a 
# problem with Microsoft WebFolders which does not appropriately handle 
# redirects for folders with DAV methods.
#

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully 
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

# Allow server status reports, with the URL of http://servername/server-status
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-status>
#    SetHandler server-status
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>

# Allow remote server configuration reports, with the URL of
#  http://servername/server-info (requires that mod_info.c be loaded).
# Change the ".your_domain.com" to match your domain to enable.
#
#<Location /server-info>
#    SetHandler server-info
#    Order deny,allow
#    Deny from all
#    Allow from .your_domain.com
#</Location>

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*



Include /etc/apache2/conf.d/phpmyadmin.conf
Include /etc/apache2/variables.conf

Ich wäre dankbar für eine kleine Hilfestellung!!!!

Gruß
Marco
 

Attachments

  • top.gif
    top.gif
    24.9 KB · Views: 141
Last edited by a moderator:
Macht es Sinn, den MySQL-Server per Cronjob einmal am Tag neuzustarten? Nach 18 Stunden ist der Key Buffer (128MB) zu 99% voll.

Also ich mach täglich ein Backup meiner Datenbanken und dazu halte ich den Server immer an! ---- wird auch empfohlen!

Für mich klingt das so als hättest du überhaupt keine Backups! :rolleyes:
 
Doch doch, Backups werden täglich in der Nacht gemacht.

Nur wie es aussieht, liegt es nur am Apache. Hat ja nun eine sehr hohe Auslastung.

Wie kann ich herrausfinden, womit er so extrem beschäfftigt ist?
 
Back
Top