У меня есть таблица базы данных с 300 000 строками и размером 113,7 МБ. Моя база данных работает на Ubuntu 13.10 с 8 ядрами и 8 ГБ ОЗУ. В настоящее время сервер MySQL использует в среднем 750% ЦП. и 6,5% МЕМ (результаты получены top
в CLI). Также следует отметить, что он работает на том же сервере, что и веб-сервер Apache2.
Вот что я получаю в строке Mem: Mem: 8141292k total, 6938244k used, 1203048k free, 211396k buffers
Когда я бегу: show processlist;
Я получаю что-то вроде этого взамен:
2098812 | admin | localhost | phpb | Query | 12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Horns/thumbs/Halloween 2013 Horns (Original).png'
2098813 | admin | localhost | phpb | Query | 12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Witch Hat/thumbs/Halloween 2013 Witch Hat (Origina
2098814 | admin | localhost | phpb | Query | 12 | Sending data | SELECT * FROM items WHERE thumb = 'Halloween 2013 Blouse/thumbs/Halloween 2013 Blouse (Original).png
2098818 | admin | localhost | phpb | Query | 11 | Sending data | SELECT * FROM items WHERE parent = 210162 OR auto = 210162
Для выполнения некоторых запросов требуется более 10 секунд, это не верхняя часть списка, а где-то посередине, чтобы дать некоторое представление о том, сколько запросов складывается в этом списке. Я чувствую, что это может иметь какое-то отношение к моей конфигурации Query Cash. Вот конфигурации, показанные при запуске SHOW STATUS LIKE 'Qc%';
+-------------------------+----------+
| Variable_name | Value |
+-------------------------+----------+
| Qcache_free_blocks | 434 |
| Qcache_free_memory | 2037880 |
| Qcache_hits | 62580686 |
| Qcache_inserts | 10865474 |
| Qcache_lowmem_prunes | 4157011 |
| Qcache_not_cached | 3140518 |
| Qcache_queries_in_cache | 1260 |
| Qcache_total_blocks | 4440 |
+-------------------------+----------+
Я заметил, что Qcache_lowmem_prunes
кажется немного завышенным, это нормально?
Я искал StackOverflow, но не нашел ничего, что могло бы решить мою проблему. Любая помощь с этим будет принята с благодарностью, спасибо!
Есть ли у вас индексы для столбцов большого пальца, родительских или автоматических столбцов? Как правило кхм thumb, вы должны иметь индекс для каждого столбца или группы столбцов в предложениях where.