Heim Datenbank MySQL-Tutorial mysql连接超时的参数设置_MySQL

mysql连接超时的参数设置_MySQL

May 30, 2016 pm 05:10 PM
参数

最近系统因为数据库连接超时的问题,出现了几次故障。排查了下my.cnf的配置问题,最后是代码设计有问题。正好就把所有的timeout参数都理一遍,首先数据库里查一下看有哪些超时:

 

mysql> show global variables like "%timeout%";

+-----------------------------+----------+

| Variable_name               | Value    |

+-----------------------------+----------+

| connect_timeout             | 10       |

| delayed_insert_timeout      | 300      |

| innodb_flush_log_at_timeout | 1        |

| innodb_lock_wait_timeout    | 120      |

| innodb_rollback_on_timeout  | OFF      |

| interactive_timeout         | 28800    |

| lock_wait_timeout           | 31536000 |

| net_read_timeout            | 30       |

| net_write_timeout           | 60       |

| rpl_stop_slave_timeout      | 31536000 |

| slave_net_timeout           | 3600     |

| wait_timeout                | 28800    |

+-----------------------------+----------+

12 rows in set (0.00 sec)

 

我们来分析下各个参数的意义:

connect_timeout

 

手册描述:

The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake. The default value is 10 seconds as of MySQL 5.1.23 and 5 seconds before that.

Increasing the connect_timeout value might help if clients frequently encounter errors of the form Lost connection to MySQL server at ‘XXX’, system error: errno.

 

解释:在获取链接时,等待握手的超时时间,只在登录时有效,登录成功这个参数就不管事了。主要是为了防止网络不佳时应用重连导致连接数涨太快,一般默认即可。

 

delayed_insert_timeout

 

手册描述:

How many seconds an INSERT DELAYED handler thread should wait for INSERT statements before terminating.

解释:这是为MyISAM INSERT DELAY设计的超时参数,在INSERT DELAY中止前等待INSERT语句的时间。

 

innodb_lock_wait_timeout

 

手册描述:

The timeout in seconds an InnoDB transaction may wait for a row lock before giving up. The default value is 50 seconds. A transaction that tries to access a row that is locked by another InnoDB transaction will hang for at most this many seconds before issuing the following error:

 

1

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

When a lock wait timeout occurs, the current statement is not executed. The current transaction is not rolled back. (To have the entire transaction roll back, start the server with the –innodb_rollback_on_timeout option, available as of MySQL 5.1.15. See also Section 13.6.12, “InnoDB Error Handling”.)

innodb_lock_wait_timeout applies to InnoDB row locks only. A MySQL table lock does not happen inside InnoDB and this timeout does not apply to waits for table locks.

InnoDB does detect transaction deadlocks in its own lock table immediately and rolls back one transaction. The lock wait timeout value does not apply to such a wait.

For the built-in InnoDB, this variable can be set only at server startup. For InnoDB Plugin, it can be set at startup or changed at runtime, and has both global and session values.

 

解释:描述很长,简而言之,就是事务遇到锁等待时的Query超时时间。跟死锁不一样,InnoDB一旦检测到死锁立刻就会回滚代价小的那个事务,锁等待是没有死锁的情况下一个事务持有另一个事务需要的锁资源,被回滚的肯定是请求锁的那个Query。

innodb_rollback_on_timeout

 

手册描述:

In MySQL 5.1, InnoDB rolls back only the last statement on a transaction timeout by default. If –innodb_rollback_on_timeout is specified, a transaction timeout causes InnoDB to abort and roll back the entire transaction (the same behavior as in MySQL 4.1). This variable was added in MySQL 5.1.15.

 

解释:这个参数关闭或不存在的话遇到超时只回滚事务最后一个Query,打开的话事务遇到超时就回滚整个事务。

 

interactive_timeout/wait_timeout

手册描述:

The number of seconds the server waits for activity on an interactive connection before closing it. An interactive client is defined as a client that uses the CLIENT_INTERACTIVE option to mysql_real_connect(). See also

解释:一个持续SLEEP状态的线程多久被关闭。线程每次被使用都会被唤醒为acrivity状态,执行完Query后成为interactive状态,重新开始计时。wait_timeout不同在于只作用于TCP/IP和Socket链接的线程,意义是一样的。一般设置是8小时,一般网站白天都有人访问,从夜里到早上一般都会超过8小时,所以再来访问就会这个问题。

 

net_read_timeout / net_write_timeout

手册描述:

The number of seconds to wait for more data from a connection before aborting the read. Before MySQL 5.1.41, this timeout applies only to TCP/IP connections, not to connections made through Unix socket files, named pipes, or shared memory. When the server is reading from the client, net_read_timeout is the timeout value controlling when to abort. When the server is writing to the client, net_write_timeout is the timeout value controlling when to abort. See also slave_net_timeout.

On Linux, the NO_ALARM build flag affects timeout behavior as indicated in the description of the net_retry_count system variable.

解释:这个参数只对TCP/IP链接有效,分别是数据库等待接收客户端发送网络包和发送网络包给客户端的超时时间,这是在Activity状态下的线程才有效的参数

 

slave_net_timeout

手册描述:

The number of seconds to wait for more data from the master before the slave considers the connection broken, aborts the read, and tries to reconnect. The first retry occurs immediately after the timeout. The interval between retries is controlled by the MASTER_CONNECT_RETRY option for the CHANGE MASTER TO statement or –master-connect-retry option, and the number of reconnection attempts is limited by the –master-retry-count option. The default is 3600 seconds (one hour).

解释:这是Slave判断主机是否挂掉的超时设置,在设定时间内依然没有获取到Master的回应就人为Master挂掉了

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ßer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

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)

Heiße Themen

Java-Tutorial
1664
14
PHP-Tutorial
1269
29
C#-Tutorial
1249
24
Neue Funktion in PHP Version 5.4: So verwenden Sie aufrufbare Typhinweisparameter, um aufrufbare Funktionen oder Methoden zu akzeptieren Neue Funktion in PHP Version 5.4: So verwenden Sie aufrufbare Typhinweisparameter, um aufrufbare Funktionen oder Methoden zu akzeptieren Jul 29, 2023 pm 09:19 PM

Neue Funktion der PHP5.4-Version: So verwenden Sie aufrufbare Typhinweisparameter, um aufrufbare Funktionen oder Methoden zu akzeptieren. Einführung: Die PHP5.4-Version führt eine sehr praktische neue Funktion ein: Sie können aufrufbare Typhinweisparameter verwenden, um aufrufbare Funktionen oder Methoden zu akzeptieren. Mit dieser neuen Funktion können Funktionen und Methoden entsprechende aufrufbare Argumente ohne zusätzliche Prüfungen und Konvertierungen direkt angeben. In diesem Artikel stellen wir die Verwendung von aufrufbaren Typhinweisen vor und stellen einige Codebeispiele bereit.

Was bedeuten Produktparameter? Was bedeuten Produktparameter? Jul 05, 2023 am 11:13 AM

Produktparameter beziehen sich auf die Bedeutung von Produktattributen. Zu den Bekleidungsparametern gehören beispielsweise Marke, Material, Modell, Größe, Stil, Stoff, anwendbare Gruppe, Farbe usw.; zu den Lebensmittelparametern gehören Marke, Gewicht, Material, Gesundheitslizenznummer, anwendbare Gruppe, Farbe usw.; Dazu gehören Marke, Größe, Farbe, Herkunftsort, anwendbare Spannung, Signal, Schnittstelle und Leistung usw.

Sicherheitsüberprüfung des C++-Funktionsparametertyps Sicherheitsüberprüfung des C++-Funktionsparametertyps Apr 19, 2024 pm 12:00 PM

Die Sicherheitsüberprüfung von C++-Parametertypen stellt durch Überprüfungen zur Kompilierungszeit, Laufzeitüberprüfungen und statischen Behauptungen sicher, dass Funktionen nur Werte erwarteter Typen akzeptieren, wodurch unerwartetes Verhalten und Programmabstürze verhindert werden: Typüberprüfung zur Kompilierungszeit: Der Compiler überprüft die Typkompatibilität. Überprüfung des Laufzeittyps: Verwenden Sie Dynamic_cast, um die Typkompatibilität zu überprüfen und eine Ausnahme auszulösen, wenn keine Übereinstimmung vorliegt. Statische Behauptung: Typbedingungen zur Kompilierzeit geltend machen.

PHP-Warnung: Lösung für in_array() erwartet Parameter PHP-Warnung: Lösung für in_array() erwartet Parameter Jun 22, 2023 pm 11:52 PM

Während des Entwicklungsprozesses kann es vorkommen, dass wir auf die folgende Fehlermeldung stoßen: PHPWarning: in_array()expectsparameter. Diese Fehlermeldung wird bei Verwendung der Funktion in_array() angezeigt. Sie kann durch eine falsche Parameterübergabe der Funktion verursacht werden. Werfen wir einen Blick auf die Lösung dieser Fehlermeldung. Zunächst müssen Sie die Rolle der Funktion in_array() klären: Überprüfen Sie, ob ein Wert im Array vorhanden ist. Der Prototyp dieser Funktion ist: in_a

C++-Programm zum Ermitteln des Werts der Umkehrfunktion des hyperbolischen Sinus, wobei ein gegebener Wert als Argument verwendet wird C++-Programm zum Ermitteln des Werts der Umkehrfunktion des hyperbolischen Sinus, wobei ein gegebener Wert als Argument verwendet wird Sep 17, 2023 am 10:49 AM

Hyperbelfunktionen werden mithilfe von Hyperbeln anstelle von Kreisen definiert und entsprechen gewöhnlichen trigonometrischen Funktionen. Es gibt den Verhältnisparameter in der hyperbolischen Sinusfunktion aus dem angegebenen Winkel im Bogenmaß zurück. Aber machen Sie das Gegenteil, oder anders gesagt. Wenn wir einen Winkel aus einem hyperbolischen Sinus berechnen wollen, benötigen wir eine umgekehrte hyperbolische trigonometrische Operation wie die hyperbolische Umkehrsinusoperation. In diesem Kurs wird gezeigt, wie Sie die hyperbolische Umkehrsinusfunktion (asinh) in C++ verwenden, um Winkel mithilfe des hyperbolischen Sinuswerts im Bogenmaß zu berechnen. Die hyperbolische Arkussinusoperation folgt der folgenden Formel -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}, Wo\:In\:ist\:natürlicher Logarithmus\:(log_e\:k)

i9-12900H Parameterbewertungsliste i9-12900H Parameterbewertungsliste Feb 23, 2024 am 09:25 AM

Der i9-12900H ist ein 14-Kern-Prozessor und die Threads sind ebenfalls sehr hoch. Einige Parameter wurden verbessert und können den Benutzern ein hervorragendes Erlebnis bieten . Überprüfung der Parameterbewertung des i9-12900H: 1. Der i9-12900H ist ein 14-Kern-Prozessor, der die q1-Architektur und die 24576-KB-Prozesstechnologie übernimmt und auf 20 Threads aktualisiert wurde. 2. Die maximale CPU-Frequenz beträgt 1,80! 5,00 GHz, was hauptsächlich von der Arbeitslast abhängt. 3. Im Vergleich zum Preis ist es sehr gut geeignet. Das Preis-Leistungs-Verhältnis ist sehr gut und für einige Partner, die eine normale Nutzung benötigen, sehr gut geeignet. i9-12900H Parameterbewertung und Leistungsbenchmarks

Kann ein Sprachmodell mit 10 Milliarden Parametern nicht ausgeführt werden? Ein chinesischer Arzt vom MIT schlug die SmoothQuant-Quantifizierung vor, die den Speicherbedarf um die Hälfte reduzierte und die Geschwindigkeit um das 1,56-fache erhöhte! Kann ein Sprachmodell mit 10 Milliarden Parametern nicht ausgeführt werden? Ein chinesischer Arzt vom MIT schlug die SmoothQuant-Quantifizierung vor, die den Speicherbedarf um die Hälfte reduzierte und die Geschwindigkeit um das 1,56-fache erhöhte! Apr 13, 2023 am 09:31 AM

Obwohl große Sprachmodelle (LLM) eine starke Leistung aufweisen, kann die Anzahl der Parameter leicht Hunderte oder Hunderte von Milliarden erreichen, und der Bedarf an Computerausrüstung und Speicher ist so groß, dass sich normale Unternehmen diese nicht leisten können. Bei der Quantisierung handelt es sich um eine gängige Komprimierungsoperation, die einen Teil der Modellleistung im Austausch für eine schnellere Inferenzgeschwindigkeit und einen geringeren Speicherbedarf opfert, indem die Genauigkeit der Modellgewichte (z. B. 32 Bit auf 8 Bit) verringert wird. Bei LLMs mit mehr als 100 Milliarden Parametern können die vorhandenen Komprimierungsmethoden jedoch weder die Genauigkeit des Modells aufrechterhalten, noch können sie effizient auf der Hardware ausgeführt werden. Kürzlich haben Forscher vom MIT und NVIDIA gemeinsam eine universelle Post-Training-Quantisierung (GPQ) vorgeschlagen.

Das Open-Source-Modell gewinnt zum ersten Mal GPT-4! Der neueste Kampfbericht von Arena hat eine hitzige Debatte ausgelöst, Karpathy: Dies ist die einzige Liste, der ich vertraue Das Open-Source-Modell gewinnt zum ersten Mal GPT-4! Der neueste Kampfbericht von Arena hat eine hitzige Debatte ausgelöst, Karpathy: Dies ist die einzige Liste, der ich vertraue Apr 10, 2024 pm 03:16 PM

Ein Open-Source-Modell, das GPT-4 schlagen kann, ist erschienen! Der neueste Kampfbericht der großen Modellarena: Das Open-Source-Modell CommandR+ mit 104 Milliarden Parametern kletterte auf den 6. Platz, gleichauf mit GPT-4-0314 und übertraf GPT-4-0613. Image Dies ist auch das erste Modell mit offenem Gewicht, das GPT-4 im Bereich der großen Modelle übertrifft. Die große Modellarena ist einer der wenigen Testbenchmarks, denen der Meister Karpathy vertraut. Bild CommandR+ vom KI-Einhorn Cohere. Mitbegründer und CEO dieses großen Modell-Startups ist kein geringerer als Aidan Gomez, der jüngste Autor von Transformer (auch „der Weizenernter“ genannt). Sobald dieser Kampfbericht herauskam, startete eine weitere Welle großer Modellclubs

See all articles