Status pertunjukkan MySQL - koneksi aktif atau total?


206

Ketika saya menjalankannya show status like 'Con%'menunjukkan jumlah koneksi, yaitu 9972 dan terus bertambah. Apakah ini jumlah koneksi aktif atau koneksi total?

Jawaban:


402

Menurut dokumen , itu berarti jumlah total sepanjang sejarah:

Connections

Jumlah upaya koneksi (berhasil atau tidak) ke server MySQL.

Anda dapat melihat jumlah koneksi aktif baik melalui Threads_connectedvariabel status:

Threads_connected

Jumlah koneksi yang sedang terbuka.

mysql> show status where `variable_name` = 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 4     |
+-------------------+-------+
1 row in set (0.00 sec)

... atau melalui show processlistperintah:

mysql> show processlist;
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host            | db     | Command | Time | State | Info             |
+----+------+-----------------+--------+---------+------+-------+------------------+
|  3 | root | localhost       | webapp | Query   |    0 | NULL  | show processlist | 
|  5 | root | localhost:61704 | webapp | Sleep   |  208 |       | NULL             | 
|  6 | root | localhost:61705 | webapp | Sleep   |  208 |       | NULL             | 
|  7 | root | localhost:61706 | webapp | Sleep   |  208 |       | NULL             | 
+----+------+-----------------+--------+---------+------+-------+------------------+
4 rows in set (0.00 sec)

Apakah koneksi mewakili pengguna? Jadi, jika ada 200 pengguna pada halaman yang membuat permintaan basis data akan 200 koneksi?
Diego Queiroz

Ya, bisakah seseorang menjelaskannya. Saya juga punya pertanyaan yang sama. Juga, apakah variabel-variabel ini mereset setelah setiap Layanan MySQL restart atau setelah Server reboot?
LonelyRogue

@Diego Queiroz Tidak sesederhana itu. Jika pengembang sama-sama memperhatikan dan jika hanya ada 1 database yang perlu dihubungkan ke per pengguna, maka ya, masing-masing akan menjadi pengguna. Tetapi mungkin ada utilitas lain yang menjalankan atau layanan cadangan yang juga perlu disambungkan.
Ryan Shillington

@LonelyRogue Ya, setelah server dinyalakan kembali, setiap koneksi harus terhubung kembali. Banyak program / perpustakaan akan terhubung secara otomatis sehingga # koneksi dapat terisi dengan cepat tanpa secara eksplisit melakukan apa pun. Tetapi MySQL tidak akan menyimpan koneksi lama setelah restart.
Ryan Shillington

134
SHOW STATUS WHERE `variable_name` = 'Threads_connected';

Ini akan menunjukkan kepada Anda semua koneksi terbuka.


17

Ini adalah jumlah total koneksi ke server sampai sekarang. Untuk menemukan status koneksi saat ini, Anda dapat menggunakan

mysqladmin -u -p extended-status | grep -wi 'threads_connected \ | threads_running' | awk '{print $ 2, $ 4}'

Ini akan menunjukkan kepada Anda:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

Untuk melihat daftar yang lebih lengkap, Anda dapat menjalankan:

show session status;

atau

show global status;

Lihat tautan ini untuk lebih memahami penggunaannya.

Jika Anda ingin mengetahui detail tentang database Anda dapat menjalankan:

status;

12

Anda juga bisa melakukannya

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connectionsjuga berguna
coolnodje

3

Untuk memeriksa koneksi maksimum yang diizinkan, Anda dapat menjalankan kueri berikut:

SHOW VARIABLES LIKE "max_connections";

Untuk memeriksa jumlah koneksi aktif, Anda dapat menjalankan kueri berikut:

SHOW VARIABLES LIKE "max_used_connections";

Semoga ini bisa membantu.



-1

Seharusnya jumlah koneksi aktif saat ini. Jalankan perintah processlistuntuk memastikan.

URL untuk referensi: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDIT: Jumlah koneksi DB yang dibuka Silakan lihat di sini, jumlah utas (koneksi) aktual dijelaskan di sini!


2
Saya menemukan tautan referensi bermanfaat. Misalnya, show status like '%onn%';permintaan yang sangat berguna.
viddik13

1
Jawaban ini salah dan harus dihapus. Lihat jawaban lainnya.
dr_

Dari dev.mysql.com/doc/refman/8.0/en/… : "Jumlah upaya koneksi (berhasil atau tidak) ke server MySQL". Ini BUKAN jumlah koneksi aktif.
PYB
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.