[Chugalug] damned if you do, damned if you don't
Jason Brown
lists at masterforge.com
Wed Oct 10 21:07:14 UTC 2012
Since that initial discussion I have used innotop to track down locks
and long running queries, (turned out to be bad code).
Glad you finally got it running:
While doing that debugging I wrote this little shell script to kill some
of the stupid long queries causing locks that someone might find useful.
#!/bin/bash
#Kill any queries running more than 15 minutes.
date '+%F %R'
mysql -s -e 'select id from information_schema.processlist where info is
not null and time > 900;'
mysql -s -e 'select id from information_schema.processlist where info is
not null and time > 900;' | sed -E 's/^/mysqladmin kill /' | bash
--Jason
On 10/10/2012 04:50 PM, Ed King wrote:
> I'm such a slacker... it took me 2 months to install "innotop". I
> just finished the installation and got it to connect. Looks like the
> default screen shows db uptime, queries per second, and current sql
> statement executing on the main screen. I hit "L" to get to the
> show-lock screen and wouldn't you know it, I don't have any locks
> right now (not complaining).
>
>
> ------------------------------------------------------------------------
> *From:* Jason Brown <lists at masterforge.com>
> *To:* chugalug at chugalug.org
> *Sent:* Fri, August 17, 2012 12:05:37 PM
> *Subject:* Re: [Chugalug] damned if you do, damned if you don't
>
> The default timeout is 50 seconds, thats a pretty long time for an
> insert or update. Are you sure you can't trim that?
> You might be better served tracking down the locking culprit and
> fixing the root issue, that or upgrading to faster hardware.
> This looks useful,
> http://www.xaprb.com/blog/2007/09/18/how-to-debug-innodb-lock-waits/ I
> have not used that exact method yet but now that I have found it I
> plan to.
>
> Anyway, here are some lines from some of my server configs that affect
> innodb performance.
>
> innodb_flush_method = O_DIRECT
> This one is very hardware dependent, may help, may hurt:
> http://dev.mysql.com/doc/refman/5.1/en/innodb-parameters.html#sysvar_innodb_flush_method
> (We use to avoid double buffering as the article says).
>
> innodb_flush_log_at_trx_commit = 2
> Depends on your situation, reduces disk write load by a tiny amount.
>
> --Jason
>
>
>
> On 08/17/2012 12:50 PM, Ed King wrote:
>> ----- Original Message ----
>>
>> sooooooo... what magical incantations do you folks use in your my.cnf file to
>> avoid innodb locks yet still maintain transactional integrity?
>>
>>
>> did I stump the experts? ;) I've tried increasing the lock wait timeout and I
>> even turned off the locks completely (or so I thought) but I still get an
>> occasional lock-wait timeout. I don't see how I can make my transactions any
>> smaller than what they already are.
>>
>>
>> I was visiting my nephew last night when I asked if I
>> could borrow a newspaper.
>> "This is the 21st century." he said.
>> "We don't waste money on newspapers.
>> Here, you can borrow my iPad."
>> I can tell you, that bloody fly never knew what hit it...
>> _______________________________________________
>> chugalug at chugalug.org
>> http://www.chugalug.org/cgi-bin/mailman/listinfo/chugalug
>
>
>
> This body part will be downloaded on demand.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://chugalug.org/pipermail/chugalug/attachments/20121010/633894c6/attachment-0001.html>
More information about the Chugalug
mailing list