Случай загадочного кеширования MySQL при перезагрузках - PullRequest
0 голосов
/ 14 января 2011

Я обнаружил очень медленный запрос MySQL в своем веб-приложении. Странно то, что запрос медленен только при первом выполнении, несмотря на то, что query_cache установлен по умолчанию (query_cache_size 0) примерно так:

mysql> show variables like 'query%';
+------------------------------+---------+
| Variable_name                | Value   |
+------------------------------+---------+
| query_alloc_block_size       | 8192    |
| query_cache_limit            | 1048576 |
| query_cache_min_res_unit     | 4096    |
| query_cache_size             | 0       |
| query_cache_type             | ON      |
| query_cache_wlock_invalidate | OFF     |
| query_prealloc_size          | 8192    |
+------------------------------+---------+

Еще более странная вещь состоит в том, что это ускорение сохраняется даже после того, как сервер MySQL был остановлен и перезапущен (я использую OSX, и выполняю этот перезапуск, используя панель системных настроек.) Единственный способ, которым я могу воссоздать плохое Выполнение начального запроса происходит путем перезагрузки системы.

Итак, мой вопрос: как это происходит? Очевидно какое-то кеширование на работе, но где? И как это сохраняется при перезапусках базы данных? Этот запрос передается через наше веб-приложение, которое поставляется через PHP / Apache, но дополнительных наворотов нет, и любопытное кэширование сохраняется и после перезапусков Apache.

Помощь

1 Ответ

2 голосов
/ 14 января 2011

дикое предположение - операционная система или жесткий диск, кеширующий файл

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...