Rumah pangkalan data tutorial mysql MySQL性能优化之参数配置

MySQL性能优化之参数配置

Jun 07, 2016 pm 04:33 PM
pengoptimuman prestasi mysql

通过根据服务器目前状况,修改MySQL的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。

1、目的:

通过根据服务器目前状况,修改MySQL的系统参数,达到合理利用服务器现有资源,最大合理的提高MySQL性能。

2、服务器参数:

32G内存、4个CPU,每个CPU 8核。

3、MySQL目前安装状况。

    MySQL目前安装,用的是MySQL默认的最大支持配置。拷贝的是my-huge.cnf.编码已修改为UTF-8.具体修改及安装MySQL,可以参考>帮助文档  。

4、修改MySQL配置

打开MySQL配置文件my.cnf

vi  /etc/my.cnf
 

4.1 MySQL非缓存参数变量介绍及修改

4.1.1修改back_log参数值:由默认的50修改为500.(每个连接256kb,占用:125M)

          back_log=500


back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。将会报:unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时.

back_log值不能超过TCP/IP连接的侦听队列的大小。若超过则无效,查看当前系统的TCP/IP连接的侦听队列的大小命令:cat /proc/sys/net/ipv4/tcp_max_syn_backlog目前系统为1024。对于Linux系统推荐设置为小于512的整数。修改系统内核参数,)

查看mysql 当前系统默认back_log值,命令:

show variables like 'back_log'; 查看当前数量
 

4.1.2修改wait_timeout参数值,由默认的8小时,修改为30分钟。(本次不用)

          wait_timeout=1800(单位为妙)

我对wait-timeout这个参数的理解:MySQL客户端的数据库连接闲置最大时间值。

说得比较通俗一点,,就是当你的MySQL连接闲置超过一定时间后将会被强行关闭。MySQL默认的wait-timeout  值为8个小时,可以通过命令show variables like 'wait_timeout'查看结果值;。

设置这个值是非常有意义的,比如你的网站有大量的MySQL链接请求(每个MySQL连接都是要内存资源开销的 ),由于你的程序的原因有大量的连接请求空闲啥事也不干,白白占用内存资源,或者导致MySQL超过最大连接数从来无法新建连接导致“Too many connections”的错误。在设置之前你可以查看一下你的MYSQL的状态(可用show processlist),如果经常发现MYSQL中有大量的Sleep进程,则需要 修改wait-timeout值了。

interactive_timeout:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。

wait_timeout:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局 interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义).

这两个参数必须配合使用。否则单独设置wait_timeout无效

4.1.3修改max_connections参数值,由默认的151,修改为3000(750M)。

    max_connections=3000


max_connections是指MySql的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySql会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。可以过'conn%'通配符查看当前状态的连接数量,以定夺该值的大小。

MySQL服务器允许的最大连接数16384;

查看系统当前最大连接数:

show variables like 'max_connections';

4.1..4修改max_user_connections值,由默认的0,修改为800

    max_user_connections=800


 max_user_connections是指每个数据库用户的最大连接

针对某一个账号的所有客户端并行连接到MYSQL服务的最大并行连接数。简单说是指同一个账号能够同时连接到mysql服务的最大连接数。设置为0表示不限制。

目前默认值为:0不受限制。

这儿顺便介绍下Max_used_connections:它是指从这次mysql服务启动到现在,同一时刻并行连接数的最大值。它不是指当前的连接情况,而是一个比较值。如果在过去某一个时刻,MYSQL服务同时有1000个请求连接过来,而之后再也没有出现这么大的并发请求时,则Max_used_connections=1000.请注意与show variables 里的max_user_connections的区别。默认为0表示无限大。

查看max_user_connections值

show variables like 'max_user_connections';

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二进制安装

--------------------------------------分割线 --------------------------------------

 

更多详情见请继续阅读下一页的精彩内容:

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)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
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)

Bagaimana untuk mengoptimumkan kelajuan sambungan MySQL? Bagaimana untuk mengoptimumkan kelajuan sambungan MySQL? Jun 29, 2023 pm 02:10 PM

Bagaimana untuk mengoptimumkan kelajuan sambungan MySQL? Gambaran Keseluruhan: MySQL ialah sistem pengurusan pangkalan data hubungan yang digunakan secara meluas yang biasa digunakan untuk penyimpanan dan pengurusan data dalam pelbagai aplikasi. Semasa pembangunan, pengoptimuman kelajuan sambungan MySQL adalah penting untuk meningkatkan prestasi aplikasi. Artikel ini akan memperkenalkan beberapa kaedah dan teknik biasa untuk mengoptimumkan kelajuan sambungan MySQL. Jadual Kandungan: Gunakan kumpulan sambungan untuk melaraskan parameter sambungan dan mengoptimumkan tetapan rangkaian Gunakan indeks dan cache untuk mengelakkan sambungan melahu yang lama Ringkasan: Gunakan kumpulan sambungan.

Analisis pengalaman projek pada sandaran pangkalan data MySQL dan pengoptimuman prestasi pemulihan Analisis pengalaman projek pada sandaran pangkalan data MySQL dan pengoptimuman prestasi pemulihan Nov 02, 2023 am 08:53 AM

Dalam era Internet semasa, kepentingan data adalah jelas. Sebagai salah satu komponen teras aplikasi Internet, sandaran pangkalan data dan kerja pemulihan adalah amat penting. Walau bagaimanapun, apabila jumlah data terus meningkat dan keperluan perniagaan menjadi semakin kompleks, sandaran pangkalan data tradisional dan penyelesaian pemulihan tidak lagi dapat memenuhi ketersediaan tinggi dan keperluan prestasi tinggi aplikasi moden. Oleh itu, mengoptimumkan prestasi sandaran dan pemulihan pangkalan data MySQL telah menjadi masalah mendesak yang perlu diselesaikan. Dalam amalan, kami telah menerima pakai satu siri pengalaman projek untuk meningkatkan data MySQL dengan berkesan

Panduan praktikal pengoptimuman prestasi MySQL: pemahaman mendalam tentang indeks pepohon B+ Panduan praktikal pengoptimuman prestasi MySQL: pemahaman mendalam tentang indeks pepohon B+ Jul 25, 2023 pm 08:02 PM

Panduan Praktikal Pengoptimuman Prestasi MySQL: Pemahaman Mendalam tentang Indeks B+ Tree Pengenalan: Sebagai sistem pengurusan pangkalan data hubungan sumber terbuka, MySQL digunakan secara meluas dalam pelbagai bidang. Walau bagaimanapun, apabila jumlah data terus meningkat dan keperluan pertanyaan menjadi lebih kompleks, masalah prestasi MySQL menjadi semakin ketara. Antaranya, reka bentuk dan penggunaan indeks merupakan salah satu faktor utama yang mempengaruhi prestasi MySQL. Artikel ini akan memperkenalkan prinsip indeks pepohon B+ dan menunjukkan cara mengoptimumkan prestasi MySQL dengan contoh kod sebenar. 1. Prinsip indeks pokok B+ pokok B+ ialah a

Cara menggunakan kelas PDO PHP untuk mengoptimumkan prestasi MySQL Cara menggunakan kelas PDO PHP untuk mengoptimumkan prestasi MySQL May 10, 2023 pm 11:51 PM

Dengan perkembangan pesat Internet, pangkalan data MySQL telah menjadi teknologi penyimpanan data teras untuk banyak laman web, aplikasi dan juga perusahaan. Walau bagaimanapun, dengan pertumbuhan berterusan volum data dan peningkatan mendadak dalam akses serentak, masalah prestasi MySQL telah menjadi semakin ketara. Kelas PDO PHP juga digunakan secara meluas dalam pembangunan dan pengendalian MySQL kerana prestasinya yang cekap dan stabil. Dalam artikel ini, kami akan memperkenalkan cara menggunakan kelas PDO untuk mengoptimumkan prestasi MySQL dan meningkatkan kelajuan tindak balas pangkalan data dan keupayaan akses serentak. 1. Pengenalan kepada kelas PDO

Bagaimana untuk meningkatkan prestasi MySQL dengan menggunakan pernyataan SQL dinamik Bagaimana untuk meningkatkan prestasi MySQL dengan menggunakan pernyataan SQL dinamik May 11, 2023 am 09:28 AM

Dalam aplikasi moden, pangkalan data MySQL adalah pilihan biasa. Walau bagaimanapun, apabila volum data berkembang dan keperluan perniagaan terus berubah, prestasi MySQL mungkin terjejas. Untuk mengekalkan prestasi tinggi pangkalan data MySQL, pernyataan SQL dinamik telah menjadi cara teknikal yang penting untuk meningkatkan prestasi MySQL. Apakah penyataan SQL dinamik? Pernyataan SQL dinamik merujuk kepada teknologi penjanaan pernyataan SQL oleh program dalam aplikasi Dalam istilah awam, ia bermaksud menganggap penyataan SQL sebagai rentetan. Untuk aplikasi besar,

Pengoptimuman prestasi MySQL: Kuasai ciri dan kelebihan enjin TokuDB Pengoptimuman prestasi MySQL: Kuasai ciri dan kelebihan enjin TokuDB Jul 25, 2023 pm 07:22 PM

Pengoptimuman prestasi MySQL: Kuasai ciri dan kelebihan enjin TokuDB Pengenalan: Dalam aplikasi pemprosesan data berskala besar, pengoptimuman prestasi pangkalan data MySQL adalah tugas yang penting. MySQL menyediakan pelbagai enjin, setiap satu dengan ciri dan kelebihan yang berbeza. Artikel ini akan memperkenalkan ciri dan kelebihan enjin TokuDB dan menyediakan beberapa contoh kod untuk membantu pembaca memahami dan menggunakan enjin TokuDB dengan lebih baik. 1. Ciri-ciri enjin TokuDB TokuDB ialah enjin storan berprestasi tinggi dan kadar mampatan tinggi.

Bagaimana untuk meningkatkan prestasi MySQL dengan membahagikan jadual secara menegak Bagaimana untuk meningkatkan prestasi MySQL dengan membahagikan jadual secara menegak May 10, 2023 pm 09:31 PM

Dengan perkembangan pesat Internet, skala data terus berkembang, dan permintaan untuk penyimpanan pangkalan data dan kecekapan pertanyaan juga meningkat. Sebagai pangkalan data sumber terbuka yang paling biasa digunakan, pengoptimuman prestasi MySQL sentiasa menjadi tumpuan pembangun. Artikel ini akan memperkenalkan teknologi pengoptimuman prestasi MySQL yang berkesan - jadual partition menegak, dan menerangkan secara terperinci cara melaksanakan dan menggunakannya. 1. Apakah jadual partition menegak? Jadual pembahagian menegak merujuk kepada membahagikan jadual mengikut ciri lajur dan menyimpan lajur yang berbeza pada peranti storan fizikal yang berbeza untuk meningkatkan kecekapan pertanyaan.

Kemahiran pengurusan saiz jadual data dalam MySQL Kemahiran pengurusan saiz jadual data dalam MySQL Jun 15, 2023 am 09:28 AM

Sebagai sistem pengurusan pangkalan data hubungan yang ringan, pangkalan data MySQL digunakan secara meluas dalam aplikasi Internet dan sistem peringkat perusahaan. Dalam aplikasi peringkat perusahaan, apabila jumlah data meningkat, saiz jadual data juga terus meningkat Oleh itu, pengurusan saiz jadual data yang berkesan adalah penting untuk memastikan prestasi dan kebolehpercayaan pangkalan data. Artikel ini akan memperkenalkan teknik pengurusan saiz jadual data dalam MySQL. 1. Pembahagian jadual data Memandangkan jumlah data terus meningkat, saiz jadual data juga terus meningkat, yang akan menyebabkan prestasi pangkalan data berkurangan dan operasi pertanyaan menjadi perlahan.

See all articles