CPU-/Serverlast

S-8

New Member
Hi,
heute glüht mein Webserver wieder heiß, CPU Last von ~ 90% und Systemlast von lediglich 8%.

Woran kann das liegen???
Ich meine klar sind einige Besucher auf der Seite (derzeit um die 60) aber der große Unterschied zwischen CPU und Systemlast.

Der Rechner ist ein:
CPU GenuineIntel, Intel(R) Celeron(R) CPU 2.40GHz
Operating system Linux 2.6.18.8-0.7-default
mit 512 MB RAM

Habe einige Apache Prefork Prozesse die jeweils ca. 18MB belegen, sollte ich evtl auf den Worker Bereich wechseln?

Im Anhang ein Auszug aus top. (Änderung: Dazu noch einen Auszug aus dem Watchdog, der zeit ja das Gegentei lvom TOP, dass die Gesamtlsat zu hoch ist und der Server um 15 Uhr zusammengebrochen ist ?).

Wer hat Tipps, oder ist ein Serverwechsel anzuraten ?

Danke und Gruß

S8
 

Attachments

  • ServerLast.gif
    ServerLast.gif
    51.9 KB · Views: 288
  • Watchdog.gif
    Watchdog.gif
    15.1 KB · Views: 380
Hallo!

Ich habe den worker schon auf mehreren Server im Einsatz.
Kann ich uneingeschränkt empfehlen.

Kurze Frage. Mit welchem Tool hast du das zweite Bild erzeugt?
 
Die Diskrepanz zwischen User und Systemzeit finde ich jetzt nicht so gravierend. Das zeigt lediglich, dass nur ein geringer Teil der CPU-Zeit im Kernel verbracht wird, da die laufenden Prozesse wenig Systemaufrufe machen müssen. Ohne den Source-Code des apache oder mysql zu kennen, vermute ich mal, dass diese Programme ihre Daten nicht per read() (und write()) in den Speicher holen bzw. wieder auf Platte schreiben, sondern per mmap(). Das kann bei geschickter Implementierung schon Overhead einsparen.

350 MB benutzter Swap-Speicher müssen nicht unbedingt schlecht sein, solange kein Trashing, d.h. ständiges Austauschen der selben Speicher-Pages stattfindet. Die hohe Load lässt mich aber vermuten, dass genau das passiert. Du kannst ja mal mit
Code:
vmstat 10
ausgeben lassen, was speichermäßig so passiert (die Ausgabe erfolgt alle 10 Sekunden, Abbruch mit Strg-C). Falls in den Spalten "si" und "so" dauernd hohe Werte stehen, ist wohl ein Server mit mehr RAM angesagt oder ein ordentliches Abspecken der Konfiguration (sofern da noch was rauszuholen ist) :)

Viele Grüße,
LinuxAdmin
 
Einen durchschnittlichen (~ 5 Minuten) LOAD von 51,08 habe ich noch nie gesehen. Antwortet die Kiste überhaupt noch auf Anfragen für Webseiten? Wenn ja, wieviele Sekunden dauert das denn? Meinem Server ist schon ein LOAD von 8,x deutlich anzumerken und ab einem durchschnittlichen LOAD von über 2 tue ich was. Allerdings liegt mein durchschnittlicher LOAD (~ 15 Minuten) im Bereich von 0,1 bis 0,3.

Also wenn es kein Konfigurationsfehler ist, würde ich einen besseren Server empfehlen, der mehr CPU und mehr RAM hat.

Gruß
Claus

PS: Persönliche Anmerkung bzw. OFF-Topic: Das finde ich das tolle an Linux ... selbst bei einem LOAD von 51,08 kann man noch Tastertureingaben machen und "top" aufrufen.
 
Last edited by a moderator:
Einen durchschnittlichen (~ 5 Minuten) LOAD von 51,08 habe ich noch nie gesehen. Antwortet die Kiste überhaupt noch auf Anfragen für Webseiten?

Ein Kollege hat mal ein shellscript getestet, rausgekommen ist eine fork-bomb. Die Load ist ins Unendlich gestiegen (irgendwas um 1400), aber die Maschine hat immer noch ordentlich reagiert, solange man keinen neuen Prozess starten wollte. Irgendwie konnte er dann allerdings mal einen kill anwerfen, der die Prozesse schneller entsorgt als fork neue angeworfen hat :-)
Ein Reboot wollten wir bei einer uptime von ca 1200 Tagen vermeiden.
 
Moin,
erst einmal Danke für die Antworten.
Anbei die aktuellen Screenshots von Top und dem Watchdog unter "normal Zustand".

Das zweite Bild (Watchdog) wurde mit einem Plesk Tools zur Serverüberwachung erzeugt.

Screenshot von VMstat hängt an, der Server hatte Antwortzeiten von 30 bis 180 Sekunden. Mittlerweile wieder 1,2 Sekunden. Zeitweise war der Server auch gar nicht erreichbar. Wie gesagt, sobald mehr als 50 Leute online sind, geht der Server in die Knie (da war mein damaliges Hosting Paket performanter).

Ich werde mich die Woche nochmal ausführlichst mit den Config Dateien befassen, und den Worker Prozess ausprobieren. Ansonsten bin ich langsam mit meinem Latein am Ende, vielleicht finde ich ja hier noch Anregungen.

Danke und Gruß

S8
 

Attachments

  • Watchdog3.gif
    Watchdog3.gif
    15.5 KB · Views: 202
  • ServerLast2.gif
    ServerLast2.gif
    17 KB · Views: 212
  • vmstat.gif
    vmstat.gif
    8.6 KB · Views: 274
...komisch, ab 19 Uhr ist der Server wieder unter Volllast....
Ab 30 User geht es wieder ab....
...ganzen Tag 20-30 User online, und ab 19 Uhr sind es über 30 und schon die Probleme... :-(

Irgendwie habe ich das Gefühl, dass gezielt was auf den Server zugreift, denn jeden Tag zwischen 19 und 21 Uhr die Ausfälle....
Derzeit geht gar nichts mehr, nur noch ein Reset über den Serverhoster bringt Abhilfe. :-(

In den Logfiles finde ich aber absolut nichts, das einzig auffällige sind die Ressourcen im Prefork.
 

Attachments

  • Watchdog4.gif
    Watchdog4.gif
    15.1 KB · Views: 213
  • vmstat2.gif
    vmstat2.gif
    9.5 KB · Views: 146
Immer wieder das Selbe: Konfigurationsfehler!
Die ausgelieferte Apache-config ist nicht alltagstauglich.
Angefangen bei "KeepAliveTimeout" von 1 oder 2 Sekunden über Server-Forking bis hin zu nur benötigten Apache-Modulen.

Das Ganze hat noch nichts mit prefork vs. worker zu tun.
Praktisch gesehen hilft der KeepAliveTimeout bereits gewaltig.
Ansonsten gilt immer sich den Server-Status (mod_status im ExtendedMode) anzusehen. Dort sieht man sehr gut, was den Server ausbremst/blockiert.

Ein paar weiter Tipps findest Du hier: Hochleistungs-Apache: Performance-Tuning

huschi.
 
Was ich vor allem bei kleinen Servern, mit 1GB Ram so wie deiner, sehr empfehlen kann ist Lighttpd / Lighty.

Auf unserem Homepage Server, der 1GB Ram hat, konnten wir durch einen Umstieg auf Lighty den Speicherverbrauch maßgeblich senken. Vorher Apache mit ca. 600MB Speicherverbrauch, jetzt Lighty mit ca. 45MB.
Wir konnten alle unsere Skripte weiterbenutzen und die Konfiguration war nach ca. 20 min. abgeschlossen.

Nur bei Debian Etch sollte man sich die Lighty Pakete von Lenny selber bauen (ist ja kein Aufwand), da man sonst mit der uralten Version 1.4.13 unterwegs ist!
 
Immer wieder das Selbe: Konfigurationsfehler!
Die ausgelieferte Apache-config ist nicht alltagstauglich.
Angefangen bei "KeepAliveTimeout" von 1 oder 2 Sekunden über Server-Forking bis hin zu nur benötigten Apache-Modulen.

Hi,
was mich ein wenig zum schmunzeln bringt, ich kenne Deine Seite bereits und habe einiges davon schon durchgeführt.

Momentan ist so gut wie keine Last auf dem Server, trotzdem fällt tw. der Mailserver aus, der Watchdog Dienst wurde abgeschossen (zumindest läuft er, zeichnet aber nichts mehr auf). Also irgendwas ist dort im argen, ob das unbedingt die Anzahl der User ist, weiß ich gar nicht mal....

Soll ich mal meine Config hier posten?

Gruß

S-8
 
ja, poste mal Apache conf, my.cnf und ein
Code:
ps axu --sort:command
oder
Code:
ps -ylC httpd --sort:rss
wenn du Tuning-Primer Script verwendest, noch die historic max_used_connections.

@Hischi

da hat Huschi Recht. Apache installiert sich standardmäßig mit völlig Resourcenfressender Config.
 
Last edited by a moderator:
Hallo und erst einmal Sorry für die späte Antwort!
Leider war ich eine Woche unterwegs, aber nun kann ich mich wieder voll und hganz dem Server widmen.

Anbei die letzten Abfragen (angehangen) und die Config Dateien:

Mysql.cnf:
Code:
# The MySQL server
[mysqld]
set-variable=local-infile=0
port		= 3306
socket		= /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 32M  #16
max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 4M
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
long-query-time = 5

query_cache_size = 4M
thread_cache = 32

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (via the "enable-named-pipe" option) will render mysqld useless!
# 
#skip-networking

# Replication Master Server (default)
# binary logging is required for replication
# log-bin=mysql-bin

# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id	= 1

# The safe_mysqld script
[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[myisamchk]
key_buffer = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout


Und Apache.conf (die jedoch gestückelt ist):
Code:
#
# /etc/apache2/httpd.conf 

# Overview of include files, chronologically:
#
# httpd.conf
#  | 
#  |-- uid.conf  . . . . . . . . . . . . . .  UserID/GroupID to run under
#  |-- server-tuning.conf  . . . . . . . . .  sizing of the server (how many processes to start, ...)
#  |-- sysconfig.d/loadmodule.conf . . . . .  [*] load these modules
#  |-- listen.conf . . . . . . . . . . . . .  IP adresses / ports to listen on
#  |-- mod_log_config.conf . . . . . . . . .  define logging formats
#  |-- sysconfig.d/global.conf . . . . . . .  [*] server-wide general settings
#  |-- mod_status.conf . . . . . . . . . . .  restrict access to mod_status (server monitoring)
#  |-- mod_info.conf . . . . . . . . . . . .  restrict access to mod_info
#  |-- mod_usertrack.conf  . . . . . . . . .  defaults for cookie-based user tracking
#  |-- mod_autoindex-defaults.conf . . . . .  defaults for displaying of server-generated directory listings
#  |-- mod_mime-defaults.conf  . . . . . . .  defaults for mod_mime configuration
#  |-- errors.conf . . . . . . . . . . . . .  customize error responses
#  |-- ssl-global.conf . . . . . . . . . . .  SSL conf that applies to default server _and all_ virtual hosts
#  |
#  |-- default-server.conf . . . . . . . . .  set up the default server that replies to non-virtual-host requests
#  |    |--mod_userdir.conf  . . . . . . . .  enable UserDir (if mod_userdir is loaded)
#  |    `--conf.d/apache2-manual?conf  . . .  add the docs ('?' = if installed)
#  |
#  |-- sysconfig.d/include.conf  . . . . . .  [*] your include files 
#  |                                             (for each file to be included here, put its name 
#  |                                              into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
#  |
#  `-- vhosts.d/ . . . . . . . . . . . . . .  for each virtual host, place one file here
#       `-- *.conf . . . . . . . . . . . . .     (*.conf is automatically included)
#
#
# Files marked [*] are created from sysconfig upon server restart: instead of
# these files, you edit /etc/sysconfig/apache2



#  Filesystem layout:
#
# /etc/apache2/
#  |-- charset.conv  . . . . . . . . . . . .  for mod_auth_ldap
#  |-- conf.d/
#  |   |-- apache2-manual.conf . . . . . . .  conf that comes with apache2-doc
#  |   |-- mod_php4.conf . . . . . . . . . .  (example) conf that comes with apache2-mod_php4
#  |   `-- ... . . . . . . . . . . . . . . .  other configuration added by packages
#  |-- default-server.conf
#  |-- errors.conf
#  |-- httpd.conf  . . . . . . . . . . . . .  top level configuration file
#  |-- listen.conf
#  |-- magic
#  |-- mime.types -> ../mime.types
#  |-- mod_autoindex-defaults.conf
#  |-- mod_info.conf
#  |-- mod_log_config.conf
#  |-- mod_mime-defaults.conf
#  |-- mod_perl-startup.pl
#  |-- mod_status.conf
#  |-- mod_userdir.conf
#  |-- mod_usertrack.conf
#  |-- server-tuning.conf
#  |-- ssl-global.conf
#  |-- ssl.crl/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificate Revocation Lists (CRL)
#  |-- ssl.crt/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificates
#  |-- ssl.csr/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificate Signing Requests
#  |-- ssl.key/  . . . . . . . . . . . . . .  PEM-encoded RSA Private Keys
#  |-- ssl.prm/  . . . . . . . . . . . . . .  public DSA Parameter Files
#  |-- sysconfig.d/  . . . . . . . . . . . .  files that are created from /etc/sysconfig/apache2
#  |   |-- global.conf
#  |   |-- include.conf
#  |   `-- loadmodule.conf
#  |-- uid.conf
#  `-- vhosts.d/ . . . . . . . . . . . . . .  put your virtual host configuration (*.conf) here
#      |-- vhost-ssl.template
#      `-- vhost.template


# run under this user/group id
Include /etc/apache2/uid.conf

# - how many server processes to start (server pool regulation)
# - usage of KeepAlive
Include /etc/apache2/server-tuning.conf

# ErrorLog
ErrorLog /var/log/apache2/error_log

# generated from APACHE_MODULES in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/loadmodule.conf

# IP addresses / ports to listen on
Include /etc/apache2/listen.conf

# predefined logging formats
Include /etc/apache2/mod_log_config.conf

# generated from global settings in /etc/sysconfig/apache2
Include /etc/apache2/sysconfig.d/global.conf

# optional mod_status, mod_info
Include /etc/apache2/mod_status.conf
Include /etc/apache2/mod_info.conf

# optional cookie-based user tracking
# read the documentation before using it!!
Include /etc/apache2/mod_usertrack.conf

# configuration of server-generated directory listings
Include /etc/apache2/mod_autoindex-defaults.conf

# associate MIME types with filename extensions
TypesConfig /etc/apache2/mime.types
DefaultType text/plain
Include /etc/apache2/mod_mime-defaults.conf

# set up (customizable) error responses
Include /etc/apache2/errors.conf

# global (server-wide) SSL configuration, that is not specific to 
# any virtual host
Include /etc/apache2/ssl-global.conf

# forbid access to the entire filesystem by default
<Directory />
    Options None
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
    Order allow,deny
    Deny from all
</Files>

# List of resources to look for when the client requests a directory
DirectoryIndex at_domains_index.html index.html index.html.var index.shtml index.cfm index.php index.htm

### 'Main' server configuration 
Include /etc/apache2/default-server.conf

# Another way to include your own files
#
# The file below is generated from /etc/sysconfig/apache2,
# include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
# APACHE_CONF_INCLUDE_DIRS
Include /etc/apache2/sysconfig.d/include.conf


### Virtual server configuration ############################################
Include /etc/apache2/vhosts.d/*.conf

AddOutputFilter INCLUDES .shtml
AddType text/html .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps


Die Default.Server.conf die inkludiert wird:
Code:
#
# Global configuration that will be applicable for all virtual hosts, unless
# deleted here, or overriden elswhere.
DocumentRoot "/srv/www/htdocs"

#
# Configure the DocumentRoot
<Directory "/srv/www/htdocs">
	# Possible values for the Options directive are "None", "All",
	# or any combination of:
	#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
	#
	# Note that "MultiViews" must be named *explicitly* --- "Options All"
	# doesn't give it to you.
	#
	# The Options directive is both complicated and important.  Please see
	# http://httpd.apache.org/docs-2.2/mod/core.html#options
	# for more information.
	Options None
	# AllowOverride controls what directives may be placed in .htaccess files.
	# It can be "All", "None", or any combination of the keywords:
	#   Options FileInfo AuthConfig Limit
	AllowOverride None
	# Controls who can get stuff from this server.
	Order allow,deny
	Allow from all
</Directory>

Alias /icons/ "/usr/share/apache2/icons/"

<Directory "/usr/share/apache2/icons">
	Options Indexes MultiViews
	AllowOverride None
	Order allow,deny
	Allow from all
</Directory>

# ScriptAlias
ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

# "/srv/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/srv/www/cgi-bin">
	AllowOverride None
	Options +ExecCGI -Includes
	Order allow,deny
	Allow from all
</Directory>

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# To disable it, simply remove userdir from the list of modules in APACHE_MODULES 
# in /etc/sysconfig/apache2.
#
<IfModule mod_userdir.c>
	# Note that the name of the user directory ("public_html") cannot simply be
	# changed here, since it is a compile time setting. The apache package
	# would have to be rebuilt. You could work around by deleting
	# /usr/sbin/suexec, but then all scripts from the directories would be
	# executed with the UID of the webserver.
	UserDir public_html
	# The actual configuration of the directory is in
	# /etc/apache2/mod_userdir.conf.
	Include /etc/apache2/mod_userdir.conf
	# You can, however, change the ~ if you find it awkward, by mapping e.g.
	# http://www.example.com/users/karl-heinz/ --> /home/karl-heinz/public_html/ 
	#AliasMatch ^/users/([a-zA-Z0-9-_.]*)/?(.*) /home/$1/public_html/$2
</IfModule>


# Include all *.conf files from /etc/apache2/conf.d/.
Include /etc/apache2/conf.d/*.conf

# The manual... if it is installed ('?' means it won't complain)
Include /etc/apache2/conf.d/apache2-manual?conf

Und die Servertuning.conf:
Code:
##
## Server-Pool Size Regulation (MPM specific)
## 

# the MPM (multiprocessing module) is not a dynamically loadable module in the
# sense of other modules. It is a compile time decision which one is used. We
# provide different apache2 MPM packages, containing different httpd2 binaries
# compiled with the available MPMs. See APACHE_MPM in /etc/sysconfig/apache2.

# prefork MPM
<IfModule prefork.c>
	# number of server processes to start
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#startservers
	StartServers         5
	# minimum number of server processes which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/prefork.html#minspareservers
	MinSpareServers      5
	# maximum number of server processes which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/prefork.html#maxspareservers
	MaxSpareServers     10
	# highest possible MaxClients setting for the lifetime of the Apache process.
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#serverlimit
	ServerLimit        150
	# maximum number of server processes allowed to start
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
	MaxClients         150
	# maximum number of requests a server process serves
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild
	MaxRequestsPerChild  10000
</IfModule>

# worker MPM
<IfModule worker.c>
	# initial number of server processes to start
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#startservers
	StartServers         3
	# minimum number of worker threads which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#minsparethreads
	MinSpareThreads     25
	# maximum number of worker threads which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxsparethreads
	MaxSpareThreads     75 
	# upper limit on the configurable number of threads per child process
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#threadlimit
	ThreadLimit         64
	# maximum number of simultaneous client connections
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
	MaxClients         150
	# number of worker threads created by each child process
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#threadsperchild
	ThreadsPerChild     25
	# maximum number of requests a server process serves
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild
	MaxRequestsPerChild  10000
</IfModule>


#
# 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 300

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

#
# EnableMMAP: Control whether memory-mapping is used to deliver
# files (assuming that the underlying OS supports it).
#EnableMMAP off

#
# The following directives modify normal HTTP response behavior to
# handle known problems with browser implementations.
#
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.
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

Ehrlich gesagt ist die ganze Config Sache mittlerweile so verzweigt, dass ich da nicht mehr so recht durchsteige... :-(
 

Attachments

  • ps.gif
    ps.gif
    44.1 KB · Views: 156
Apache Module durchsehen?

Hallo,

deine Apache-Prozesse sehen mir etwas sehr fett aus;
vielleicht solltest du mal durchsehen, welche Apache-Module du überhaupt benötigst?

Steht in /etc/sysconfig/apache2


Gruß, Peter

Und gewöhnt euch doch bitte für die Ausgabe der Prozesse mal folgendes an:

ps aux -H

dann kann man das Ergebnis auch lesen;-)
 
So, die "/etc/sysconfig/apache2":

Code:
## Path:	Network/WWW/Apache2
## Description:	Configuration for Apache 2

## Type:	string
## Default:	""
## ServiceRestart: apache2
#
# This allows you to add e.g. VirtualHost statements without touching 
# /etc/apache2/httpd.conf itself, which makes upgrading easier. 
#
APACHE_CONF_INCLUDE_FILES=""

## Type:	string
## Default:	""
## ServiceRestart: apache2
#
# Here you can name directories, separated by spaces, that should be Include'd 
# from httpd.conf. 
#
APACHE_CONF_INCLUDE_DIRS=""

## Type:	string
## Default:	"actions alias auth_basic authz_host authn_file authz_groupfile authz_default authz_user autoindex cgi dir env expires include log_config mime negotiation setenvif ssl suexec userdir php5"
## ServiceRestart: apache2
#
#
# * In the APACHE_MODULES variable, you can use mod_xyz or just xyz syntax.
#   You may also name an absolute path if you like.
#
# * NOTE ON MOD_SSL: before you can enable this module, you need a server certificate. 
#   A test certificate can be created by entering 
#   'cd /usr/share/doc/packages/apache2; ./certificate.sh' as root.
#   Also, you need to set the ServerName inside the <VirtualHost _default_:443> 
#   block to the fully qualified domain name (see /etc/HOSTNAME).
#
# * if your server certificate is protected by a passphrase you should increase the
#   APACHE_START_TIMEOUT (see above)
#
# * modules listed here will be ignored if they are not installed
#
#
# EXAMPLES:
#
# apache's default installation
# your settings
APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default authz_user cgi dir env expires include log_config mime setenvif ssl  php5 fcgid perl python   jk rewrite suexec authn_dbm userdir negotiation autoindex "

## Type:	string
## Default:	""
## ServiceRestart: apache2
#
# Additional server flags:
#
# Put here any server flags ("Defines") that you want to hand over to 
# httpd at start time, or other command line flags.
#
# Notably, to enable SSL support, 'SSL' needs to be added here.
# To enable the server-status, 'STATUS' needs to be added here.
#
APACHE_SERVER_FLAGS=""

## Type:	string
## Default:	""
## ServiceRestart: apache2
#
# Which config file do you want to use?
# (if not set, /etc/apache2/httpd.conf is used.)
# It is unusual to need to use this setting.
#
APACHE_HTTPD_CONF=""

## Type:	list(prefork,worker)
## Default:	""
## ServiceRestart: apache2
#
# MPM (multi-processing module) to use.
#
# Needed to determine with which MPM apache will run, as well as
# against which header files modules will be built. 
#
# If not set, the system will simply pick one of the installed MPMs.
#
# The implementation of the logic is in /usr/share/apache2/find_mpm,
# a script which can be used standalone as well if needed.
#
APACHE_MPM=""

## Type:	string
## Default:	""
## ServiceReload: apache2
#
# email address of the server administrator (ServerAdmin directive)
# This address is added to the server's responses if APACHE_SERVERSIGNATURE 
# is set to "email". 
#
# If empty ("") it defaults to webmaster@$FQHOSTNAME, where FQHOSTNAME is
# taken from /etc/HOSTNAME. 
#
APACHE_SERVERADMIN=""

## Type:	string
## Default:	""
## ServiceReload: apache2
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
APACHE_SERVERNAME=""

## Type:	integer
## Default:	2
#
# timeout during server startup (seconds)
# after this time, the start script decides wether the httpd process started without error.
#
# Increase it, if you use mod_ssl and your certificate is passphrase protected!
#
APACHE_START_TIMEOUT="2"

## Type:	list(on,off,email)
## Default:	"on"
## ServiceReload: apache2
#
# Configures the footer on server-generated documents 
# This correlates to the ServerSignature directive. 
#
APACHE_SERVERSIGNATURE="on"

## Type:	list(On,Off,DNS)
## Default:	"Off"
## ServiceReload: apache2
#
APACHE_USE_CANONICAL_NAME="off"

## Type:	list(Major,Minor,Minimal,ProductOnly,OS,Full)
## Default:	"OS"
## ServiceReload: apache2
#
# How much information the server response header field contains about the server.
# (installed modules, versions, etc.)
# see http://httpd.apache.org/docs-2.2/mod/core.html#servertokens
#
APACHE_SERVERTOKENS="Prod"

## Type:	list(on,off)
## Default:	"off"
## ServiceReload: apache2
#
APACHE_EXTENDED_STATUS="off"

## Type:	list(on,off)
## Default:	"off"
## ServiceRestart: apache2
#
# Enable buffered logging
APACHE_BUFFERED_LOGS="off"

## Type:	integer
## Default:	300
## ServiceReload: apache2
#
# Timeout: The number of seconds before receives and sends time out.
# It is a server wide setting.
#
APACHE_TIMEOUT="300"

Anbei auch ein Auszug aus den Logfiles die mir als einzigstes komisch vorkamen,
die Error und Access Logs zeigen nichts ungewöhnliches an, das einzige ungewöhnliche war an dem Tag die Anzahl der folgenden Meldung:
127.0.0.1 - - [01/Nov/2007:13:41:36 +0100] "GET / HTTP/1.0" 200 3523 "-" "Apache (internal dummy connection)"

und dass der Server offenbar "gescant" wurde:
Code:
[Thu Nov 01 09:15:42 2007] [error] [client 84.19.178.143] File does not exist: /srv/www/vhosts/default/htdocs/phpMyAdmin-2.6.3-rc1
[Thu Nov 01 09:15:42 2007] [error] [client 84.19.178.143] File does not exist: /srv/www/vhosts/default/htdocs/phpMyAdmin-2.6.3
[Thu Nov 01 09:15:42 2007] [error] [client 84.19.178.143] File does not exist: /srv/www/vhosts/default/htdocs/phpMyAdmin-2.6.3-pl1
[Thu Nov 01 09:15:42 2007] [error] [client 84.19.178.143] File does not exist: /srv/www/vhosts/default/htdocs/phpMyAdmin-2.6.4-rc1
[Thu Nov 01 09:15:42 2007] [error] [client 84.19.178.143] File does not exist: /srv/www/vhosts/default/htdocs/phpMyAdmin-2.6.4-pl1
[Thu Nov 01 09:15:42 2007] [error] [client 84.19.178.143] File does not exist: /srv/www/vhosts/default/htdocs/phpMyAdmin-2.6.4-pl2
Das setzt sich so fort, über einige Verzeichnisse und Möglichkeiten...[/QUOTE]
 
Last edited by a moderator:
Servertuning.conf
Code:
KeepAliveTimeout 45
ist das so gewollt? Normalerweise nimmt man da einen Wert von 2
 
Der Wert von 2 hat schonmal ein wenig weiter geholfen, jetzt geht der Server erst ab 35 Usern in die Knie.
Normal klingt das immer noch nicht. :(

Selbst mein altes Hosting Paket hielt bis zu 50-55 User aus....

Anbei ein Auszug aus ab2
 

Attachments

  • ab2.gif
    ab2.gif
    58 KB · Views: 168
Back
Top