Предположим, что веб-приложение (PHP) с X00 000 запросов в минуту и база данных SQL с примерно таким же количеством записей.Кэш/очередь для записи с высокой частотой
Каждый запрос вызывает несколько (< 5) db-файлов и одну запись db (в основном, обновление). Меня беспокоит проблема производительности, вызванная записью, и поиск решений для увеличения количества запросов в минуту.
Какие решения вы бы предложили, как бы вы их реализовали и почему?
Вещи, о которых я думал, включают в себя кеш для записи, который синхронизируется с db один раз каждые с некоторым интервалом времени или в очереди, такой как Gearman, или просто вставка SQL вставляется с задержкой.
Однако, поскольку ожидается, что одна и та же нагрузка будет постоянной, вставка с задержкой, вероятно, не поможет, когда загрузка сервера будет постоянно на уровне> 90%, поэтому я ищу способы значительно снизить нагрузку на сервер по сравнению с одиночной записью.
Благодаря
Является ли обновление обязательным после чтения? – Mjh
В предполагаемой проблеме, да. Рассмотрите отчет о состоянии, отправляемый каким-либо устройством, хотя это обновление может быть не более чем меткой времени для last_seen. – foaly
Я голосую, чтобы закрыть вопрос как слишком широкий (хотя он также, похоже, основан на мнениях и требует рекомендации по программному обеспечению). Однако я добавлю, что у вас может быть прецедент, где база данных NOSQL с расслабленной функциональностью ACID может быть решением, которое вы ищете. –