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.