Brauche Hilfe: "Lost connection to MySQL server during query"

Sicherheitspatches kannst und solltest Du idR bedenkenlos einspielen. Wir fordern unsere Kunden dazu auch unbedingt auf (es gibt fast nie Probleme) und spaetestens wenn Dein Server kompromittiert ist wird Dein Provider Deinen Server abschalten und Dich schelten, dass Du keine Sicherheitspatches eingespielt hast ;-)

Ggf. meinte der Supporter, dass Du zB ein Update von MySQL4 auf 5 machen willst oder externe Pakete einspielen willst. Das kann (muss aber nicht) zu Problemen fuehren.

Um zu pruefen ob Du die Ressourcengrenzen erreichst fuehre den folgenden Befehl aus:

Code:
cat /proc/user_beancounters

Oder schau in Deinem PowerPanel unter "QoS-Alarme" nach (sofern Strato das PowerPanel anbietet).

Weiterhin kann die Fehlermeldung mMn mehrere Ursachen haben. Es koennte auch sein, dass die Datenbank/Tabelle(n) korrupt ist. Ist es eine MyISAM-Tabelle? Dann fuehr mal folgenden Befehl aus:

Code:
mysql -uadmin -p`cat /etc/psa/.psa.shadow` $DATENBNAME -e 'check table smf_attachments;'
 
Code:
h1047156:~ # cat /proc/user_beancounters
Version: 2.5
       uid  resource           held    maxheld    barrier      limit    failcnt
   1047156: kmemsize        5183096    5777615    8512433    9823665          0
            lockedpages           0          0       3800       4096          0
            privvmpages       85781      97364     138256     202568          6
            shmpages          15261      15277     131072     131072          0
            dummy                 0          0          0          0          0
            numproc              57         65        232        232          0
            physpages         34324      38508          0 2147483647          0
            vmguarpages           0          0      66400 2147483647          0
            oomguarpages      35605      39789      66400 2147483647          0
            numtcpsock           22         22        500        500          0
            numflock              9         10        200        232          0
            numpty                2          2         64         64          0
            numsiginfo            0          1        512        512          0
            tcpsndbuf        283972     283972    4683256    6102456          0
            tcprcvbuf        360448     327680    4683256    6102456          0
            othersockbuf      33540     174496    1503232    4063232          0
            dgramrcvbuf           0        700     240000     262144          0
            numothersock         27         33        382        382          0
            dcachesize       656735     674405    2194304    2317184          0
            numfile            2509       2669       5432       5432          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            dummy                 0          0          0          0          0
            numiptent           102        102        128        128          0
h1047156:~ #

Da ich die Forensoftware mehrmals neu installiert habe, sowohl in einem Unterordner der produktiven Domäne als auch in einer anderen Domäne des gleichen V-Servers OHNE die produktiven Tabellen einzuspielen kann IMHO ausgeschlossen werden, dass korrupte Daten vorliegen.
 
Es wurde zu 6 Zeitpunkten mehr Speicher angefordert als tatsächlich nutzbar ist, das sagt der failcount bei den privvmpages -- ist auch nicht verwunderlich, wenn Du schon beim "normalen" Gebrauch 336 der 260 zugesicherten MB brauchst. Da wird bei Lastspitzen die Luft ziemlich dünn.
Leider ist es bei den meisten virtuellen Umgebungen so, dass der von top/free angezeigte Wert nicht für die virtuelle Instanz gelten. Die Werte des von Dir verwendeten vzfree-Scripts (die aus den user_beancounters errechnet werden), sind ausschlaggebend.

Vielleicht kannst Du durch entsprechendes Tuning der apache- und mysql-Config noch ein bisschen was rausholen -- ansonsten musst Du Dir wohl ein größeres vServer-Paket zulegen.

Viele Grüße,
LinuxAdmin
 
Okay, das hilft mir schonmal weiter.

Hier ist der Apache:

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       1
	StartServers       5
	# minimum number of server processes which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/prefork.html#minspareservers
#	MinSpareServers    1
	MinSpareServers    5
	# maximum number of server processes which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/prefork.html#maxspareservers
#	MaxSpareServers    5
	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       10
	ServerLimit       100
	# maximum number of server processes allowed to start
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxclients
#	MaxClients        10
	MaxClients        100
	# 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       1
	StartServers       5
	# minimum number of worker threads which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#minsparethreads
#	MinSpareThreads    1
	MinSpareThreads    5
	# maximum number of worker threads which are kept spare
	# http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxsparethreads
	MaxSpareThreads    4
	# 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        10
	MaxClients        100
	# 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 100

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

#
# EnableMMAP: Control whether memory-mapping is used to deliver
# files (assuming that the underlying OS supports it).
# The default is on; turn this off if you serve from NFS-mounted
# filesystems.  On some systems, turning it off (regardless of
# filesystem) can improve performance; for details, please see
# http://httpd.apache.org/docs-2.2/mod/core.html#enablemmap
#
#EnableMMAP off

#
# EnableSendfile: Control whether the sendfile kernel support is
# used  to deliver files (assuming that the OS supports it).
# The default is on; turn this off if you serve from NFS-mounted
# filesystems.  Please see
# http://httpd.apache.org/docs-2.2/mod/core.html#enablesendfile
#
#EnableSendfile 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.  This fixes a 
# problem with Microsoft WebFolders which does not appropriately handle 
# redirects for folders with DAV methods.
# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV.
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully

und da mySQL:

Code:
# Example MySQL config file for medium systems.
#
# This is for a system with little memory (32M - 64M) where MySQL plays
# an important part, or systems up to 128M where MySQL is used together with
# other programs (such as a web server)
#
# You can copy this file to
# /etc/my.cnf to set global options,
# mysql-data-dir/my.cnf to set server-specific options (in this
# installation this directory is /var/lib/mysql) or
# ~/.my.cnf to set user-specific options.
#
# In this file, you can use all long options that a program supports.
# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
[client]
#password	= your_password
port		= 3306
socket		= /var/lib/mysql/mysql.sock

# Here follows entries for some specific programs

# The MySQL server
[mysqld]
set-variable=local-infile=0
port		= 3306
socket		= /var/lib/mysql/mysql.sock
skip-locking
key_buffer = 16M
#max_allowed_packet = 1M
max_allowed_packet = 2M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M

# 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

# Replication Slave (comment out master section to use this)
#
# To configure this host as a replication slave, you can choose between
# two methods :
#
# 1) Use the CHANGE MASTER TO command (fully described in our manual) -
#    the syntax is:
#
#    CHANGE MASTER TO MASTER_HOST=<host>, MASTER_PORT=<port>,
#    MASTER_USER=<user>, MASTER_PASSWORD=<password> ;
#
#    where you replace <host>, <user>, <password> by quoted strings and
#    <port> by the master's port number (3306 by default).
#
#    Example:
#
#    CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306,
#    MASTER_USER='joe', MASTER_PASSWORD='secret';
#
# OR
#
# 2) Set the variables below. However, in case you choose this method, then
#    start replication for the first time (even unsuccessfully, for example
#    if you mistyped the password in master-password and the slave fails to
#    connect), the slave will create a master.info file, and any later
#    change in this file to the variables' values below will be ignored and
#    overridden by the content of the master.info file, unless you shutdown
#    the slave server, delete master.info and restart the slaver server.
#    For that reason, you may want to leave the lines below untouched
#    (commented) and instead use CHANGE MASTER TO (see above)
#
# required unique id between 2 and 2^32 - 1
# (and different from the master)
# defaults to 2 if master-host is set
# but will not function as a slave if omitted
#server-id       = 2
#
# The replication master for this slave - required
#master-host     =   <hostname>
#
# The username the slave will use for authentication when connecting
# to the master - required
#master-user     =   <username>
#
# The password the slave will authenticate with when connecting to
# the master - required
#master-password =   <password>
#
# The port the master is listening on.
# optional - defaults to 3306
#master-port     =  <port>
#
# binary logging - not required for slaves, but recommended
#log-bin=mysql-bin

# Point the following paths to different dedicated disks
#tmpdir		= /tmp/		
#log-update 	= /path-to-dedicated-directory/hostname

# Uncomment the following if you are using BDB tables
#bdb_cache_size = 4M
#bdb_max_lock = 10000

# Uncomment the following if you are using InnoDB tables
#innodb_data_home_dir = /var/lib/mysql/
#innodb_data_file_path = ibdata1:10M:autoextend
#innodb_log_group_home_dir = /var/lib/mysql/
#innodb_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

# The safe_mysqld script
skip-bdb

set-variable = innodb_buffer_pool_size=2M
set-variable = innodb_additional_mem_pool_size=500K
set-variable = innodb_log_buffer_size=500K
set-variable = innodb_thread_concurrency=2
[safe_mysqld]
err-log=/var/lib/mysql/mysqld.log

skip-bdb

set-variable = innodb_buffer_pool_size=2M
set-variable = innodb_additional_mem_pool_size=500K
set-variable = innodb_log_buffer_size=500K
set-variable = innodb_thread_concurrency=2
[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

Wo ist da eurer Meinung nach ein Tuning sinnvoll?
 
Back
Top