mysql 9804 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9807 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9808 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9809 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
mysql 9810 0.0 0.6 58556 22960 pts/0 S 12:43 0:00 \_ /usr/sbin/mysqld --basedir=/ --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysql/myhostname.pid --skip-external-locking --port=3306 --socket=/var/lib/mysql/mysql.sock
[ ... repeated output truncated ... ]
Sie benutzen nicht 13 * 50mb RAM - sie benutzen wahrscheinlich etwas wie 70mb total . Denken Sie daran, dass Linux unveränderte Speicherseiten zwischen Prozessen gemeinsam nutzt. Wenn Ihr Server also neu gestartet wird, wird der größte Teil dieses Speichers gemeinsam genutzt. Tatsächlich wird, da mysql ein Thread ist, wahrscheinlich nur noch weniger Speicher pro Thread zugewiesen. Wenn Sie sich Gedanken über die Speichernutzung der einzelnen MySQL-Prozesse machen, schauen Sie /etc/mysql/my.cnf
sich die Variablen im Abschnitt mysqld an:
key_buffers
thread_stack
thread_cache_size
max_connections
query_cache_limit
query_cache_size
Seien Sie jedoch gewarnt, dass diese Variablen sehr leistungsfähig sind, und Sie können Ihre MySQL-Leistung leicht beeinträchtigen, indem Sie sie zu niedrig einstellen oder Speicher verschwenden, der an anderer Stelle verwendet werden könnte, indem Sie sie zu hoch einstellen.
Ein einfacher Ausgangspunkt, um herauszufinden, wie Sie Ihre mysql-Instanz am besten optimieren können , ist, eine Weile Ihre App auszuführen und dann von hier aus das mysqltune-Skript auszuführen , das Ihre Leistungsindikatoren analysiert und dann eine Empfehlung ausgibt , was Sie ändern sollten Ihre Serverkonfiguration.
mysqltune
, sehr nützlich, danke. Außerdem können Siehtop
damit unsere Threads einfärben und den tatsächlich pro Prozess verwendeten Speicher anzeigen.Linux zeigt Threads als separate Prozesse an. MySQL startet einen Thread pro Verbindung. Laufen
ps
mitf
. Beispielsweiseps auxfw
wird angezeigt, wie die Threads zusammenhängen.Wie viele Verbindungen gibt es zu MySQL? Führen Sie
show full processlist;
im MySQL-Client. Nach dem, was Sie zeigen, bin ich nicht einmal zuversichtlich, dass etwas nicht stimmt.quelle
show full processlist
gibt es 2 Verbindungen zur Datenbank. Einer von ihnen ist localhost executingshow full processlist
, der andere bin auch ich, via phpmyadmin. Es sollte keine Verbindung mehr geben, da die Seite noch nichtVielleicht möchten Sie MySQLTuner ausprobieren, was ich sehr hilfreich fand. Es wird Ihnen vorschlagen, welche der Konfigurationsvariablen Sie anpassen sollten.
quelle