ich hab derzeit das Problem das der Apache immer aussetzt wenn zu viele User auf der Seite sind. Auch Putty ist dann sehr langsam und es dauert ewig bis ich mich als root einloggen kann.
Hier mal infos:
Server:
CPU:
Speicher:processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 39
model name : AMD Opteron(tm) Processor 146
stepping : 1
cpu MHz : 2000.000
cache size : 1024 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni lahf_lm
bogomips : 4021.00
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp
Netzwerk:1 GB
Linux:eth0: negotiated 100baseTx-FD, link ok
Linux version 2.6.18-4-amd64 (Debian 2.6.18.dfsg.1-12etch2) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri May 4 00:37:33 UTC 2007
Habe Apache2.2 mpm-worker, php5-fcgid (mod_fcgid), MySQL 5.x installiert (mit "aptitude install") also nichts selber compeliert.
Bei php noch APC installiert.
Kurz vor dem absturz und auch wherend es so langsam ist, zeigt "top" an das der CPU(s) - wa wert bei 80%.
Es sind zu dem zeitpunkt ca. 400 User on.
Einer Ideen Vorschläge ?
Hier Configs:
Apache:
ServerRoot "/etc/apache2"
#<IfModule !mpm_winnt.c>
#<IfModule !mpm_netware.c>
LockFile /var/lock/apache2/accept.lock
#</IfModule>
#</IfModule>
PidFile /var/run/apache2.pid
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule mpm_worker_module>
ThreadLimit 60
ServerLimit 30
StartServers 2
MaxClients 1800
MinSpareThreads 30
MaxSpareThreads 60
ThreadsPerChild 60
MaxRequestsPerChild 0
</IfModule>
User www-data
Group www-data
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig /etc/mime.types
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/apache2/error.log
LogLevel warn
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Include /etc/apache2/httpd.conf
Include /etc/apache2/ports.conf
Include /etc/apache2/conf.d/
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
ServerTokens Full
ServerSignature Off
Include /etc/apache2/sites-enabled/
MySQL:
"pstree" kurz nach ausfall des Apache[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/german
skip-external-locking
key_buffer = 128M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
max_connections = 2500
table_cache = 512
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 8M
query_cache_size = 16M
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
#
# Error logging goes to syslog. This is a Debian improvement
#
# Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
# The following can be used as easy to replay backup logs or for replication.
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
# WARNING: Using expire_logs_days without bin_log crashes the server! See README.Debian!
#expire_logs_days = 10
#max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * BerkeleyDB
#
# Using BerkeleyDB is now discouraged as its support will cease in 5.1.12.
skip-bdb
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
Bei: "netstat -nt | grep ':80' | wc -l" sind es ca. 250-300 die ausgeben wird.init-+-acpid
|-apache2-+-apache2
| |-apache2-+-apache2
| | `-89*[php5-cgi]
| |-2*[apache2---2*[{apache2}]]
| |-apache2---{apache2}
| |-3*[apache2---61*[{apache2}]]
| `-apache2---18*[{apache2}]
|-atd
|-courierlogger---authdaemond---5*[authdaemond]
|-courierlogger---couriertcpd
|-cron
|-dbus-daemon
|-dccifd---2*[{dccifd}]
|-dhcpcd-bin
|-events/0
|-famd
|-2*[getty]
|-khelper
|-klogd
|-ksoftirqd/0
|-kthread-+-aio/0
| |-ata/0
| |-ata_aux
| |-kacpid
| |-kblockd/0
| |-khubd
| |-kjournald
| |-kmirrord
| |-kpsmoused
| |-kseriod
| |-kswapd0
| |-md0_raid1
| |-md1_raid1
| |-2*[pdflush]
| |-scsi_eh_0
| |-scsi_eh_1
| |-scsi_eh_2
| `-scsi_eh_3
|-master-+-2*[cleanup]
| |-pickup
| |-qmgr
| |-2*[smtp]
| |-tlsmgr
| `-trivial-rewrite
|-mdadm
|-migration/0
|-mysqld_safe-+-logger
| `-mysqld---82*[{mysqld}]
|-2*[perl]
|-portmap
|-powernowd
|-saslauthd---4*[saslauthd]
|-server_linux---8*[{server_linux}]
|-server_linux---23*[{server_linux}]
|-spamd---2*[spamd]
|-sshd-+-sshd---bash---pstree
| `-sshd
|-syslogd
|-udevd
`-watchdog/0