logo
Published on Technical articles on: Windows servers, Apache Web Server, MySQL, PHP, IIS (http://www.sitebuddy.com)

max_allowed_packet max_connections Wait_timeout

By chris
Created 11 Jan 2006 - 5:31am
max_allowed_packet: A communication packet is a single SQL statement sent to MySQL or a single row that is sent to the client. Since MySQL 4.0.1, the maximum largest possible packet is 1GB (3.23.x was 16MB). The default value is 1MB. It's safe to increase the value of this variable because the extra memory is allocated only when needed. The small default value of the variable is a precaution to catch incorrect packets between the client and server and also to ensure that you don't run out of memory by using large packets accidentally.

max_connections:
The maximum number of simultaneous connections allowed to any given MySQL account. A value of 0 means “no limit.”
If the status variable threads_connected get close to max_connections, you might want to increase the value of max_connections.

My Values:
max_allowed_packet: 32M (Mysql.com seems to recommend 16MB if possible more?)
max_connections: 250 (default 100)
Wait_timeout (default 28800): 1800 (Previous value: 1200)

Notes: The default value of Wait_timeout is 28800 (8 hours). Which seems pretty high.
Some sites seem to say that you could lower this value (to like 10 seconds) to avoid these connections using up one of the "max_connections". I'm not sure if this is because those applications would use persistent connection but I don't really have this issue (yet?). Keep on eye on these values as the usage of your database grows


Source URL:
http://www.sitebuddy.com/MySQL/max_allowed_packet/max_connections/Wait_timeout