MySQL durumu göster - etkin mi yoksa toplam bağlantılar mı?


206

Çalıştığımda show status like 'Con%'9972 olan ve sürekli büyüyen bağlantıların sayısını gösterir. Toplamda yapılan etkin bir bağlantı veya bağlantı sayısı mı?

Yanıtlar:


402

Dokümanlara göre , tarih boyunca toplam sayı anlamına gelir:

Connections

MySQL sunucusuna yapılan bağlantı denemelerinin sayısı (başarılı veya başarısız).

Etkin bağlantı sayısını Threads_connecteddurum değişkeni ile görebilirsiniz:

Threads_connected

Şu anda açık olan bağlantıların sayısı.

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

... veya şu show processlistkomutla:

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)

Bağlantı bir kullanıcıyı mı temsil ediyor? Peki bir sayfada 200 kullanıcı varsa veritabanı sorguları yapan 200 bağlantı olacak?
Diego Queiroz

Evet, birisi bunu aydınlatabilir mi? Benim de aynı sorum var. Ayrıca, bu değişkenler her MySQL Services yeniden başlatıldıktan veya Sunucu yeniden başlatıldıktan sonra sıfırlanır mı?
LonelyRogue

@Diego Queiroz O kadar basit değil. Geliştiricinin her ikisi de yakından ilgiliyse ve kullanıcı başına bağlanması gereken yalnızca 1 veritabanı varsa, evet, bunların her biri bir kullanıcı olacaktır. Ancak, bağlanması gereken başka yardımcı programlar çalışan veya yedekleme hizmetleri de olabilir.
Ryan Shillington

@LonelyRogue Evet, sunucu yeniden başlatıldıktan sonra her bağlantının yeniden bağlanması gerekir. Birçok program / kütüphane otomatik olarak bağlanır, böylece bağlantı sayısı hiçbir şey yapmadan hızlı bir şekilde dolar. Ancak MySQL, yeniden başlatmadan sonra eski bağlantıları korumaz.
Ryan Shillington

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

Bu size tüm açık bağlantıları gösterecektir.


17

Bu, şimdiye kadar sunucuya yapılan toplam bağlantı sayısıdır. Mevcut bağlantı durumunu bulmak için

mysqladmin -u -p genişletilmiş durum | grep -wi 'threads_connected \ | threads_running' | awk '{2 $, 4 $ yazdır}'

Bu size şunları gösterecektir:

Threads_connected 12

Threads_running 1  

Threads_connected: Number of connections

Threads_running: connections currently running some sql

13

Daha eksiksiz bir liste görmek için şunları yapabilirsiniz:

show session status;

veya

show global status;

Kullanımı daha iyi anlamak için bu bağlantıya bakın .

Veritabanı hakkında ayrıntılı bilgi edinmek isterseniz çalıştırabilirsiniz:

status;

12

Ayrıca yapabilirsin

SHOW STATUS WHERE `variable_name` = 'Max_used_connections';

1
max_used_connectionsyararlıdır
coolnodje

3

İzin verilen maksimum bağlantıları kontrol etmek için aşağıdaki sorguyu çalıştırabilirsiniz:

SHOW VARIABLES LIKE "max_connections";

Etkin bağlantı sayısını kontrol etmek için aşağıdaki sorguyu çalıştırabilirsiniz:

SHOW VARIABLES LIKE "max_used_connections";

Umarım yardımcı olur.



-1

Mevcut etkin bağlantı sayısı olmalıdır. processlistEmin olmak için komutu çalıştırın .

Referans URL'si: http://www.devdaily.com/blog/post/mysql/how-show-open-database-connections-mysql

EDIT: Açılan DB bağlantı sayısı Lütfen buraya bir bakın, gerçek iş parçacığı sayısı (bağlantılar) burada açıklanmıştır!


2
Referans bağlantılarını yararlı buldum. Örneğin, show status like '%onn%';çok yararlı bir sorgu.
viddik13

1
Bu cevap yanlış ve silinmesi gerekiyor. Diğer cevaplara bakın.
dr_

Gönderen dev.mysql.com/doc/refman/8.0/en/... : "MySQL sunucusuna bağlantı teşebbüslerinin sayısı (başarılı veya değil)". Etkin bağlantı sayısı DEĞİLDİR.
PYB
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.