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