Необходимость статического кэша для запросов MySQL? - PullRequest
0 голосов
/ 14 сентября 2011

Это кажется очевидной проблемой; но я не смог найти четкого ответа. Рассмотрим простую базу данных mysql с индексированным идентификатором; без какого-либо сложного процесса. Просто читаю строку с предложением WHERE. Это действительно нужно кэшировать? Сокращение запросов mysql, очевидно, удовлетворяет каждый. Но я проверял чтение текста из файла плоского кэша и по запросу MySQL в цикле for 1 - 100 000 циклов. Чтение из плоского файла было только в 1-2 раза быстрее (но требовалось двойная память). Загрузка ЦП (по грубой оценке сверху в SSH) была практически одинаковой.

Сейчас я не вижу причин для использования кэша плоских файлов. Я прав? или дело обстоит иначе в долгосрочной перспективе? Что может сделать медленный запрос в такой простой системе? Это все еще полезно для уменьшения запросов MySQL?

P.S. Я не обсуждаю внутренний контроль качества или такие системы, как memcached.

1 Ответ

0 голосов
/ 15 сентября 2011

Это зависит от того, как вы видите проблему.

  • Существует ограничение на количество соединений mysql, которые могут быть установлены одновременно.
    Удержание ресурсов подключения mysql на занятом сайте может привести к максимальной ошибке подключения.

  • Установить соединение с MySQL через TCP - это пожиратель ресурсов (если ваша база данных находится на другом сервере). В этом случае доступ к локальному файлу диска будет намного быстрее.

  • Если ваш сервер находится за пределами сети, стоимость физического расстояния будет выше.

  • Если записи обновляются один раз в день, то они сохраняются в кеше и запрашиваются один раз в течение дня.

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