max_allowed_packet variable limits the maximum size of SQL statements. Let's say you have a table in which you store pictures in a BLOB column. If you have a max_allowed_packet parameter set to (or left at) 1M then you will not be able to store pictures in this table that exceed 1MB in size, even if the column type allow for more data to be held, as the SQL statement is limited in length. Increasing this parameter has no immediate performance effect because 1. it does not speed up anything, merely allows more data to be sent to MySql in an SQL statement; 2. the buffer is not initialized to this value, buffer of this length is used only when needed.