Rumah pangkalan data tutorial mysql MySQL之thread cache_MySQL

MySQL之thread cache_MySQL

Jun 01, 2016 pm 01:18 PM
thread Kata kunci

bitsCN.com

  最近突然对MySQL的连接非常感兴趣,从status根据thread关键字可以查出如下是个状态

show global status like 'thread%';+-------------------+-------+| Variable_name     | Value |+-------------------+-------+| Threads_cached    | 57    || Threads_connected | 1268  || Threads_created   | 31715 || Threads_running   | 1     |+-------------------+-------+
Salin selepas log masuk

Thread_cached:The number of threads in the thread cache

Thread_connected:The number of currently open connections.

Thread_created:The number of threads created to handle connections.

Thread_running:The number of threads that are not sleeping.

 

  以上是这4个状态的含义,thread_connected等于show processlist,thread_running代表真正在运行的(等于1一般就是这个show status命令本身),thread_cached代表mysql管理的线程池中还有多少可以被复用的资源,thread_created代表新创建的thread(根据官方文档,如果thread_created增大迅速,需要适当调高thread_cache_size)。

  我们先来实际看下这4个状态之间的直观关系。

  从上面这个图,我们可以总结出来一个公式:running和其他三个状态关系不大,但肯定不会超过thread_connected

  (new_con-old_con)=create+(old_cache-new_cache)

  从上面公式可以看出,如果create等于0,那么thread_connected减少的和thread_cached增加的相等,thread_connected增加的和thread_cached减少的相等。(其实这也就是thread_cached存在的意义,资源可以复用)

 

  我们来看眼影响thread_cached的参数thread_cache_size

How many threads the server should cache for reuse. When a client disconnects, the client's threads are put in the cache if there are fewer than thread_cache_size threads there. Requests for threads are satisfied by reusing threads taken from the cache if possible, and only when the cache is empty is a new thread created. This variable can be increased to improve performance if you have a lot of new connections. Normally, this does not provide a notable performance improvement if you have a good thread implementation. However, if your server sees hundreds of connections per second you should normally set thread_cache_size high enough so that most new connections use cached threads. By examining the difference between the Connections and Threads_created status variables, you can see how efficient the thread cache is. For details, see Section 5.1.6, “Server Status Variables”.
Salin selepas log masuk

  众所周知,mysql建立连接非常消耗资源,所以就有了thread_cache,当已有连接不再使用之后,mysql server不是直接断开连接,而是将已有连接转入到thread_cache中,以便下次在有create thread的需求时,可以在cache中复用,提高性能,降低资源消耗。  

  当然,如果已经有了中间件或者其他的连接池管理,那么这个参数就没有那么重要了,但是如果没有其他的连接池管理,那么优化这个参数还是可以得到不错的回报的。

bitsCN.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Feb 20, 2024 pm 04:30 PM

Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Dalam bahasa C, statik ialah kata kunci yang sangat penting, yang boleh digunakan dalam definisi fungsi, pembolehubah dan jenis data. Menggunakan kata kunci statik boleh menukar atribut pautan, skop dan kitaran hayat objek Mari analisa peranan dan penggunaan kata kunci statik dalam bahasa C secara terperinci. Pembolehubah statik dan fungsi: Pembolehubah yang ditakrifkan menggunakan kata kunci statik di dalam fungsi dipanggil pembolehubah statik, yang mempunyai kitaran hayat global

Apakah perbezaan antara Runnable dan Thread di Java? Apakah perbezaan antara Runnable dan Thread di Java? May 07, 2023 pm 05:19 PM

Terdapat dua cara untuk melaksanakan multi-threading dalam Java, satu adalah untuk mewarisi kelas Thread, dan satu lagi adalah untuk melaksanakan antara muka Runnable kelas Thread ditakrifkan dalam pakej java.lang. Selagi kelas mewarisi kelas Thread dan mengatasi kaedah run() dalam kelas ini, ia boleh melaksanakan operasi berbilang benang Walau bagaimanapun, kelas hanya boleh mewarisi satu kelas induk, yang merupakan had kaedah ini. Mari lihat contoh: packageorg.thread.demo;classMyThreadextendsThread{privateStringname;publicMyThread(Stringname){super();this

Adakah go kata kunci dalam bahasa C? Analisis terperinci Adakah go kata kunci dalam bahasa C? Analisis terperinci Mar 16, 2024 am 10:30 AM

Tajuk: Adakah pergi kata kunci dalam bahasa C? Analisis terperinci Dalam bahasa C, "go" bukan kata kunci. Kata kunci dalam bahasa C ditentukan oleh piawaian C dan digunakan untuk mewakili struktur atau fungsi tatabahasa tertentu Ia mempunyai makna khas dalam pengkompil dan tidak boleh digunakan sebagai pengecam atau nama pembolehubah. Contohnya, kata kunci "int" mewakili jenis data integer, "jika" mewakili pernyataan bersyarat dan sebagainya. Jika kami ingin mengesahkan sama ada "go" ialah kata kunci dalam bahasa C, kami boleh menulis atur cara mudah untuk mengujinya. Berikut ialah contoh: #inc

Peranan dan contoh kata kunci var dalam PHP Peranan dan contoh kata kunci var dalam PHP Jun 28, 2023 pm 08:58 PM

Peranan dan contoh kata kunci var dalam PHP Dalam PHP, kata kunci var digunakan untuk mengisytiharkan pembolehubah. Dalam versi PHP sebelumnya, menggunakan kata kunci var ialah cara idiomatik untuk mengisytiharkan pembolehubah ahli, tetapi penggunaannya tidak lagi disyorkan. Walau bagaimanapun, dalam beberapa kes, kata kunci var masih digunakan. Kata kunci var digunakan terutamanya untuk mengisytiharkan pembolehubah tempatan dan secara automatik menandakan pembolehubah sebagai skop tempatan. Ini bermakna pembolehubah hanya boleh dilihat dalam blok kod semasa dan tidak boleh diakses dalam fungsi atau blok kod lain. Gunakan var

Berapa banyak kata kunci yang terdapat dalam bahasa c? Berapa banyak kata kunci yang terdapat dalam bahasa c? Nov 22, 2022 pm 03:39 PM

Terdapat 32 kata kunci dalam bahasa C Mengikut fungsi kata kunci, ia boleh dibahagikan kepada empat kategori: kata kunci jenis data, kata kunci pernyataan kawalan, kata kunci jenis storan dan kata kunci lain. Terdapat 12 kata kunci jenis data, termasuk char, double, float, int, dll. terdapat 12 kata kunci pernyataan kawalan, termasuk untuk, break, if, else, do, dll.; static , extern, dsb. terdapat 4 kata kunci lain, termasuk const, sizeof, dsb.

Mulakan urutan baharu menggunakan fungsi Thread.start() java Mulakan urutan baharu menggunakan fungsi Thread.start() java Jul 24, 2023 pm 11:01 PM

Gunakan fungsi Thread.start() Java untuk memulakan utas baharu Di Java, kita boleh menggunakan multi-threading untuk melaksanakan berbilang tugas secara serentak. Java menyediakan kelas Thread untuk mencipta dan mengurus thread. Fungsi start() dalam kelas Thread digunakan untuk memulakan thread baru dan melaksanakan kod dalam kaedah run() thread. Contoh kod: publicclassMyThreadextendsThread{@Overr

go语言中while是关键字吗 go语言中while是关键字吗 Jun 04, 2021 pm 05:01 PM

在go语言中,while不是关键字,可以用for语句加break来实现while循环的效果,例“for {sum++ if sum>10{break}else{...}}”。go语言有break、default 、func、select、case、defer、go、map、else、goto、for、if、var等25个关键字。

Bagaimanakah Thread menjana antara muka dalam java? Bagaimanakah Thread menjana antara muka dalam java? May 17, 2023 pm 12:49 PM

Dalam java, apabila ia datang kepada benang, Benang adalah penting. Benang ialah pelaksana berjadual yang lebih ringan daripada proses. Mengapa menggunakan benang? Dengan menggunakan benang, anda boleh memisahkan peruntukan sumber dan penjadualan pelaksanaan dalam proses sistem pengendalian. Setiap utas bukan sahaja boleh berkongsi sumber proses (alamat memori, fail I/O, dll.), tetapi juga boleh dijadualkan secara bebas (benang ialah unit asas penjadualan CPU). Nota 1. Benang ialah kelas yang paling penting untuk membuat benang, dan perkataan itu sendiri juga mewakili benang. 2. Kelas Thread melaksanakan antara muka Runnable. Instance publicclassThreadDemoextendsThread{publicvoidrun(){for(inti=0

See all articles