Назад | Перейти на главную страницу

Выгрузить загрузку запроса из MySQL в файл JSON с истечением срока действия

У меня установлен сервер в фиксированном контейнере с ограниченной пропускной способностью и ЦП.

На этом сервере у меня есть веб-сайт, который делает много запросов к своей базе данных.

База данных MySQL веб-приложения - это только одна таблица.

Клиентское приложение делает один запрос каждые 5 секунд через AJAX, и AJAX открывает базу данных MySQL. Это неприемлемо в фиксированном контейнере после того, как несколько сотен пользователей находятся на сайте более 10 минут одновременно.

Чтобы минимизировать нагрузку на фиксированный контейнер, я хочу перенаправить эти запросы из

1. клиент запрашивает базу данных MySQL приложения, которая находится на сервере с ограниченными ресурсами

к

2. клиент запрашивает другой сервер без фиксированного ограничения запросов в минуту.

Преимущество состоит в том, что мне не нужно перемещать все веб-приложение в неограниченный контейнер, вместо этого это может быть значительно дешевле, делать гораздо больше запросов AJAX на другом эластичном или более мощном сервере.

Есть ли более простой внутренний метод?

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

Вот некоторые варианты:

  1. кэш памяти демон, установленный в контейнере вашего сайта. Приложение сначала проконсультируется с кэшем памяти, чтобы узнать, есть ли там требуемые данные, и только если нет, запросит MySQL. И затем сохраните его в кеше с некоторым сроком действия.

  2. AWS ElastiCache - также memcache, но управляемый AWS.

  3. Кэшированный запрос MySQL - вы по-прежнему делаете запросы к базе данных, но база данных кэширует предыдущие результаты и возвращает их намного быстрее.

  4. Пробовать оптимизировать схему вашей базы данных и добавьте правильные индексы. Это ускорит обработку и снизит нагрузку на БД.

  5. Если ваш веб-сайт слишком популярен, и используемые размеры экземпляров не успевают, возможно, вам нужно выбрать более крупные. смотреть на CloudWatch мониторинг и проверка загрузки системы.

Надеюсь, это поможет :)