11 messages in com.mysql.lists.bugsRE: Rare crash| From | Sent On | Attachments |
|---|---|---|
| Steven Roussey | 17 Jul 2001 19:01 | |
| Michael Widenius | 18 Jul 2001 02:00 | |
| Sasha Pachev | 18 Jul 2001 18:04 | |
| Steven Roussey | 19 Jul 2001 16:12 | |
| Steven Roussey | 19 Jul 2001 16:35 | |
| Sinisa Milivojevic | 20 Jul 2001 03:43 | |
| Steven Roussey | 20 Jul 2001 12:59 | |
| Steven Roussey | 20 Jul 2001 12:59 | |
| Michael Widenius | 20 Jul 2001 15:01 | |
| Sasha Pachev | 20 Jul 2001 15:40 | |
| Sinisa Milivojevic | 21 Jul 2001 03:41 |
| Subject: | RE: Rare crash![]() |
|---|---|
| From: | Steven Roussey (srou...@network54.com) |
| Date: | 07/19/2001 04:35:33 PM |
| List: | com.mysql.lists.bugs |
key_buffer_size=83881984 record_buffer=2093056 sort_buffer=2097144 max_used_connections=800 max_connections=800 threads_connected=273 It is possible that mysqld could use up to key_buffer_size + (record_buffer + sort_buffer)*max_connections = 3355509 K bytes of memory Fatal signal 11 while backtracing Hope that's ok, if not, decrease some variables in the equation
From the above, assuming that the data was not corrupted we can tell that:
* you managed to staturate your max_connections, so it looks like some trouble was brewing * your record buffer and sort buffer are big enough to run your system out of RAM in times of trouble
Yes. There was a query that locked a table and everything filled up and went boom while waiting. Row locking will be nice some day... I think similar things have done this before looking back into the error log (an automatic repair table a few days ago caused the server to crash since it locked the table up). For us, we can change the max_connections to about 400 which might help it enough to prevent crashing in these cases. We can avoid long queries, but we will have to keep an eye on max_connections in case a table gets repaired. The same table keeps getting corrupted (once about every three weeks).
BTW - something like lxr.php.net for mysql would help me navigate unfamiliar source code so I could have a reasonable look at the code before posting this report. ;)
That would be really nice. The reason we have not done it yet is that files like sql_select.cc are so big that if the site got any level of popularity, the server would go down pretty quick.
Don't tell me lxr doesn't cache results! Arg! No one seems to write code that scales well (save for mysql, of course, minus the table locking thing in MyISAM). That drive me nuts!
You know, we have a three level object caching system that uses MySQL blobs as the cache repository. We were able to reduce the number of queries per second for a given amount of traffic by a factor of 50. MySQL's support for large blobs was the key to our using it in the beginning. BTW -- as a tip to others out there -- gzcompress serialized objects or large text messages before putting them in MySQL (and do it on the client side). It saves a lot of network traffic, disk size and accesses, and gives a great speed boost.
Threads: 237 Questions: 809021 Slow queries: 0 Opens: 298 Flush tables: 1 Open tables: 288 Queries per second avg: 444.029
That is a very nice load. Too bad we get to see this only when there are problems...
That was for 30 minutes at non-peak time. It does better than that actually. And it does it at a load of less than one all day on cheap 1999 hardware. We have more brain power here than cash, so we have to make do with what we got.
Sincerely,
Steven Roussey Network54.com http://network54.com/?pp=e




