каково максимальное количество запросов

#mysql

#mysql

Вопрос:

Каково максимальное количество запросов, которые могут быть запущены на выделенном сервере с 4 ГБ оперативной памяти в одном экземпляре.

Я запускаю задание cron, которое может содержать запросы, близкие к ста тысячам. его запросы выполняются в цикле, запросы — это простые запросы, выбирающие 3 поля с целочисленными полями.

пожалуйста, посоветуйте

Комментарии:

1. проверьте время выполнения одного запроса (которое необходимо выполнить несколько раз в задании cron) в mysql и умножьте на 100 тысяч

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

3. @diEho один запрос занял 0.0003 секунды.

4. @Ibrahim Diallo «я очищаю данные» я создаю массив с 5 значениями для вставки в базу данных после выполнения некоторого количества запросов. улучшится ли производительность, если я очищу массив после каждой вставки в базу данных?

5. @user494559 Нет. Это не повлияет на производительность заметным образом.

Ответ №1:

42, конечно. 43-й запрос прерывает его. Нет, на самом деле 🙂

Верхнего предела на количество запросов нет — цикл может выполняться весь день. Если не существует какой-либо формы параллельного кода (т. Е. потоков), каждый запрос из cron-задания будет выполняться последовательно (отправляет запрос, обрабатывает результат, отправляет запрос, обрабатывает …) и, таким образом, общее количество запросов не имеет значения с точки зрения требований к памяти.

Существует, однако, потенциальное (хотя и абсолютно абсурдное) ограничение на обновления / вставки / удаления, которые выполняются в рамках одной транзакции. Это потому, что транзакция должна иметь возможность отката. (Я не уверен, связано ли это с хранилищем, основной памятью или иным образом.)

Удачного кодирования.


Поскольку это длительное задание, обратите внимание: если cron-задание «запускается» в следующее cron-задание (не завершается вовремя), то могут возникнуть серьезные проблемы, поскольку одно и то же «задание» может выполняться несколько раз! Эта некрасивая ситуация может быстро выйти из-под контроля, если cron-задания будут продолжать каскадировать друг в друга: каждое одновременно выполняемое «задание» будет создавать дополнительную нагрузку на сервер базы данных.

Комментарии:

1. когда одно задание cron завершено, оно загружает другое, то есть с одного URL оно переходит на другой URL, например domain.com/cron/job1 перенаправляет на domain.com/cron/job2 так будет ли это проблемой?

2. Это не мой код 😉 Просто предупреждение и кое-что, за чем нужно следить. Описанная проблема возникает из-за [случайного] многократного одновременного выполнения задания. Это по-прежнему не влияет на максимальное количество запросов, но может привести к нехватке других ресурсов (представьте, что 10 000 заданий cron пытаются поговорить с плохим MySQL).