phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?MySQL=20f=E4hrt=20mit=20=5Fconnect=20an=20die=20Wand?=

[php] =?iso-8859-1?Q?MySQL=20f=E4hrt=20mit=20=5Fconnect=20an=20die=20Wand?=

Sandor Wonschik wonschik_(at)_web.de
Fri, 16 Jun 2000 12:39:05 +0200


Hallo!

Leider ist das Thema hier etwas OT, aber es brennt wirklich.

Seit zwei Tagen gibt es ein großes Problem mit unserer Datenbank. Vorher lief es zwar zeitweise recht langsam, aber es lief. 

Nun ist es so, daß lange Zeit die DB bei niedriger Last vor sich hin dümpelt. Dann hat man so um die 10-20 Threads. Schon nach wenigen Minuten steigt plötzlich die Anzahl der Threads immer höher und höher, bis sich teilweise sogar der mysqld selbst beendet!
- Woran kann das liegen?
- Hat schonmal jemand ähnliche Erfahrungen gemacht?
- Wie kann man diesen Effekt verhindern?

Schicht im Schacht ist, wenn die Anzahl der Threads auf 478 gestiegen ist. Dann werden keine neuen Threads mehr erzeugt und mysql ist stabil tot. Die Anzahl der max_connections sind auf 5000 (siehe unten).
- Ist das überhaupt eine sinnvolle Einstellung?
- Wieviele Threads kann mysql denn sinnvol handlen?

Zur Zeit werden die Verbindungen über mysql_connect hergestellt.
- Wird es etwas bringen, auf mysql_pconnect umzusteigen?
- Falls ja, behebt man damit die Ursache oder nur das Symptom?

weitere mögliche Fehlerursachen (?):
- mysql-Installation (alte Version)
- die Abfragen in den PHP-Progs
- mysql_connect / mysql_pconnect


>mysqladmin vers

mysqladmin  Ver 7.11 Distrib 3.22.27, for pc-linux-gnu on i686
TCX Datakonsult AB, by Monty

Server version          3.22.27-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql.sock
Uptime:                 8 min 4 sec

Threads: 281  Questions: 10323  Slow queries: 0  Opens: 1424  Flush tables: 1  Open tables: 314


>mysqladmin vers

mysqladmin  Ver 7.11 Distrib 3.22.27, for pc-linux-gnu on i686
TCX Datakonsult AB, by Monty

Server version          3.22.27-log
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql.sock
Uptime:                 10 min 47 sec

Threads: 478  Questions: 11620  Slow queries: 0  Opens: 2895  Flush tables: 1  Open tables: 535


>mysqladmin vers

mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!


db:~ # mysql handy
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)


mysql> show variables;
+----------------------------+---------------------------+
| Variable_name              | Value                     |
+----------------------------+---------------------------+
| back_log                   | 1000                      |
| connect_timeout            | 5                         |
| basedir                    | /usr/                     |
| datadir                    | /var/mysql/               |
| delayed_insert_limit       | 100                       |
| delayed_insert_timeout     | 300                       |
| delayed_queue_size         | 1000                      |
| join_buffer                | 131072                    |
| flush_time                 | 0                         |
| key_buffer                 | 134213632                 |
| language                   | /usr/share/mysql/english/ |
| log                        | ON                        |
| log_update                 | OFF                       |
| long_query_time            | 10                        |
| low_priority_updates       | OFF                       |
| max_allowed_packet         | 1047552                   |
| max_connections            | 5000                      |
| max_connect_errors         | 1000                      |
| max_delayed_insert_threads | 20                        |
| max_join_size              | 4294967295                |
| max_sort_length            | 1024                      |
| net_buffer_length          | 16384                     |
| pid_file                   | /var/mysql/db.pid         |
| port                       | 3306                      |
| protocol_version           | 10                        |
| record_buffer              | 131072                    |
| skip_locking               | ON                        |
| skip_networking            | OFF                       |
| socket                     | /tmp/mysql.sock           |
| sort_buffer                | 2097144                   |
| table_cache                | 64                        |
| thread_stack               | 1048576                   |
| tmp_table_size             | 67108856                  |
| tmpdir                     | /tmp/                     |
| version                    | 3.22.27-log               |
| wait_timeout               | 15                        |
+----------------------------+---------------------------+
36 rows in set (0.01 sec)


Auszug aus der Prozeßliste
--------------------------
19744 ?        S      0:00 sh /usr/bin/safe_mysqld --log --user=mysql --pid-file=/var/mysql/db.pid --datadir=/var/mysql -O wait_timeout=15
19756 ?        SN     0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/mysql --skip-locking --log --user=mysql --pid-file=/var/mysql/db.pid --datadir=/var/mysql -O wait_timeout=15
19758 ?        SN     0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/mysql --skip-locking --log --user=mysql --pid-file=/var/mysql/db.pid --datadir=/var/mysql -O wait_timeout=15
19759 ?        SN     0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/mysql --skip-locking --log --user=mysql --pid-file=/var/mysql/db.pid --datadir=/var/mysql -O wait_timeout=15


Ich hoffe stark, daß es jemanden gibt, der mir hier weiterhelfen kann. Ich bin mit meinem Latein am Ende.

Vielen Dank im Voraus,
Sandor
_______________________________________________________________________
1.000.000 DM gewinnen - kostenlos tippen - http://millionenklick.web.de
IhrName_(at)_web.de, 8MB Speicher, Verschluesselung - http://freemail.web.de



php::bar PHP Wiki   -   Listenarchive