The original poster mentioned that he is not using transactions explicitly.
Some transactions may still occur as a side effect of some operations under
certain conditions and, in a busy high load environment, cannot be entirely
avoided. Having some experience with this, I can report that it is safe and
highly effective to retry at the application layer. With a site supporting
1.5M users/day, we set a loop to retry up to 3 times.. Out of tens of
millions of writes/day, we only hit the lock/timeout a couple hundred
times, and never needed the second retry.
On 2012-10-11 12:36 PM, "Rick James" <rjames@stripped> wrote:
A 50-second 'transaction' is much too long.
If you have slow queries, let's see them, together with SHOW CREATE TABLE,
SHOW TABLE STATUS, and EXPLAIN SELECT. Quite possibly we can make them run
faster, thereby eliminating your problem.
> -----Original Message-----
> From: Akshay Suryavanshi [mailto:akshay.suryavanshi50@stripped]