Heim Datenbank MySQL-Tutorial MySQL性能优化之参数配置

MySQL性能优化之参数配置

Jun 07, 2016 pm 04:33 PM
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通用二进制安装

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

 

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

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie optimiert man die MySQL-Verbindungsgeschwindigkeit? Wie optimiert man die MySQL-Verbindungsgeschwindigkeit? Jun 29, 2023 pm 02:10 PM

Wie optimiert man die MySQL-Verbindungsgeschwindigkeit? Überblick: MySQL ist ein weit verbreitetes relationales Datenbankverwaltungssystem, das häufig zur Datenspeicherung und -verwaltung in einer Vielzahl von Anwendungen verwendet wird. Während der Entwicklung ist die Optimierung der MySQL-Verbindungsgeschwindigkeit von entscheidender Bedeutung für die Verbesserung der Anwendungsleistung. In diesem Artikel werden einige gängige Methoden und Techniken zur Optimierung der MySQL-Verbindungsgeschwindigkeit vorgestellt. Inhaltsverzeichnis: Verwenden Sie Verbindungspools, um Verbindungsparameter anzupassen und Netzwerkeinstellungen zu optimieren. Verwenden Sie Indizes und Caches, um lange inaktive Verbindungen zu vermeiden. Konfigurieren Sie geeignete Hardwareressourcen.

Analyse der Projekterfahrungen zur Optimierung der MySQL-Datenbanksicherung und -wiederherstellung Analyse der Projekterfahrungen zur Optimierung der MySQL-Datenbanksicherung und -wiederherstellung Nov 02, 2023 am 08:53 AM

Im aktuellen Internetzeitalter liegt die Bedeutung von Daten auf der Hand. Als eine der Kernkomponenten von Internetanwendungen ist die Sicherung und Wiederherstellung von Datenbanken besonders wichtig. Da jedoch die Datenmenge weiter zunimmt und die Geschäftsanforderungen immer komplexer werden, können herkömmliche Datenbanksicherungs- und -wiederherstellungslösungen die hohen Verfügbarkeits- und Leistungsanforderungen moderner Anwendungen nicht mehr erfüllen. Daher ist die Optimierung der Sicherungs- und Wiederherstellungsleistung der MySQL-Datenbank zu einem dringenden Problem geworden, das gelöst werden muss. In der Praxis haben wir eine Reihe von Projekterfahrungen übernommen, um MySQL-Daten effektiv zu verbessern

Praktischer Leitfaden zur MySQL-Leistungsoptimierung: Vertiefendes Verständnis der B+-Baumindizes Praktischer Leitfaden zur MySQL-Leistungsoptimierung: Vertiefendes Verständnis der B+-Baumindizes Jul 25, 2023 pm 08:02 PM

Praktischer Leitfaden zur MySQL-Leistungsoptimierung: Detailliertes Verständnis von B+-Baumindizes Einführung: Als relationales Open-Source-Datenbankverwaltungssystem wird MySQL in verschiedenen Bereichen häufig verwendet. Da jedoch die Datenmenge weiter zunimmt und die Abfrageanforderungen immer komplexer werden, treten die Leistungsprobleme von MySQL immer stärker in den Vordergrund. Unter diesen sind das Design und die Verwendung von Indizes einer der Schlüsselfaktoren, die die Leistung von MySQL beeinflussen. In diesem Artikel wird das Prinzip des B+-Baumindex vorgestellt und anhand tatsächlicher Codebeispiele gezeigt, wie die Leistung von MySQL optimiert werden kann. 1. Prinzip des B+-Baumindex Der B+-Baum ist ein

So verwenden Sie die PDO-Klasse von PHP, um die MySQL-Leistung zu optimieren So verwenden Sie die PDO-Klasse von PHP, um die MySQL-Leistung zu optimieren May 10, 2023 pm 11:51 PM

Mit der rasanten Entwicklung des Internets ist die MySQL-Datenbank zur zentralen Datenspeichertechnologie für viele Websites, Anwendungen und sogar Unternehmen geworden. Mit dem kontinuierlichen Wachstum des Datenvolumens und der starken Zunahme des gleichzeitigen Zugriffs sind die Leistungsprobleme von MySQL jedoch immer deutlicher geworden. Aufgrund ihrer effizienten und stabilen Leistung wird die PDO-Klasse von PHP auch häufig bei der Entwicklung und dem Betrieb von MySQL verwendet. In diesem Artikel stellen wir vor, wie Sie die PDO-Klasse verwenden, um die MySQL-Leistung zu optimieren und die Antwortgeschwindigkeit und die gleichzeitigen Zugriffsmöglichkeiten der Datenbank zu verbessern. 1. Einführung in die PDO-Klasse

So verbessern Sie die MySQL-Leistung durch die Verwendung dynamischer SQL-Anweisungen So verbessern Sie die MySQL-Leistung durch die Verwendung dynamischer SQL-Anweisungen May 11, 2023 am 09:28 AM

In modernen Anwendungen ist die MySQL-Datenbank eine häufige Wahl. Wenn jedoch die Datenmengen wachsen und sich die Geschäftsanforderungen weiter ändern, kann die Leistung von MySQL beeinträchtigt werden. Um die hohe Leistung der MySQL-Datenbank aufrechtzuerhalten, sind dynamische SQL-Anweisungen zu einem wichtigen technischen Mittel zur Verbesserung der Leistung von MySQL geworden. Was ist eine dynamische SQL-Anweisung? Eine dynamische SQL-Anweisung bezieht sich auf die Technologie zum Generieren von SQL-Anweisungen durch ein Programm in einer Anwendung. Laienhaft ausgedrückt bedeutet dies, dass SQL-Anweisungen als Zeichenfolgen behandelt werden. Für große Anwendungen,

MySQL-Leistungsoptimierung: Beherrschen Sie die Funktionen und Vorteile der TokuDB-Engine MySQL-Leistungsoptimierung: Beherrschen Sie die Funktionen und Vorteile der TokuDB-Engine Jul 25, 2023 pm 07:22 PM

MySQL-Leistungsoptimierung: Beherrschen Sie die Eigenschaften und Vorteile der TokuDB-Engine. Einführung: Bei großen Datenverarbeitungsanwendungen ist die Leistungsoptimierung der MySQL-Datenbank eine entscheidende Aufgabe. MySQL bietet eine Vielzahl von Engines mit jeweils unterschiedlichen Funktionen und Vorteilen. In diesem Artikel werden die Funktionen und Vorteile der TokuDB-Engine vorgestellt und einige Codebeispiele bereitgestellt, um den Lesern zu helfen, die TokuDB-Engine besser zu verstehen und anzuwenden. 1. Eigenschaften der TokuDB-Engine TokuDB ist eine leistungsstarke Speicher-Engine mit hoher Komprimierungsrate.

So verbessern Sie die MySQL-Leistung durch vertikale Partitionierung von Tabellen So verbessern Sie die MySQL-Leistung durch vertikale Partitionierung von Tabellen May 10, 2023 pm 09:31 PM

Mit der rasanten Entwicklung des Internets nimmt der Datenumfang weiter zu und auch die Nachfrage nach Datenbankspeicherung und Abfrageeffizienz steigt. Als am häufigsten verwendete Open-Source-Datenbank stand die Leistungsoptimierung von MySQL schon immer im Fokus der Entwickler. In diesem Artikel wird eine effektive MySQL-Technologie zur Leistungsoptimierung vorgestellt – die vertikale Partitionstabelle – und ausführlich erläutert, wie sie implementiert und angewendet wird. 1. Was ist eine vertikale Partitionstabelle? Vertikal partitionierte Tabellen beziehen sich auf die Aufteilung einer Tabelle nach Spaltenmerkmalen und das Speichern verschiedener Spalten auf verschiedenen physischen Speichergeräten, um die Abfrageeffizienz zu verbessern.

Kenntnisse in der Verwaltung der Datentabellengröße in MySQL Kenntnisse in der Verwaltung der Datentabellengröße in MySQL Jun 15, 2023 am 09:28 AM

Als leichtes relationales Datenbankverwaltungssystem wird die MySQL-Datenbank häufig in Internetanwendungen und Systemen auf Unternehmensebene verwendet. Bei Anwendungen auf Unternehmensebene nimmt mit zunehmender Datenmenge auch die Größe der Datentabellen weiter zu. Daher ist eine effektive Verwaltung der Datentabellengrößen von entscheidender Bedeutung, um die Leistung und Zuverlässigkeit der Datenbank sicherzustellen. In diesem Artikel werden Techniken zur Verwaltung der Datentabellengröße in MySQL vorgestellt. 1. Aufteilung der Datentabelle Mit zunehmender Datenmenge nimmt auch die Größe der Datentabelle weiter zu, was zu einer Verringerung der Datenbankleistung und einer Verlangsamung des Abfragevorgangs führt.

See all articles