powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Закрывать соединение при долгой работе скрипта?
3 сообщений из 3, страница 1 из 1
Закрывать соединение при долгой работе скрипта?
    #39703903
showroom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня!

Подскажите наилучший план действий, ибо ответа в интернетах не удалось найти.

Есть сайт на php, размещен на дедике 2х xeon e5
Пользователи на сайте запускают "долгоиграющие" процессы - в среднем от 10 минут до получаса.
Процессы вида

while ( $result = mysqli_fetch_array (...) )
{
// выполняем некоторый код
// обновляем данные в mysql
// пауза 1-2 секунды
}

цикл может иметь до 1-2 тысяч интераций, отсюда и долгое время выполнения.
Все это время mysql соединение открыто

Сейчас при средней посещаемости с сайтом происходит ерунда - mysql периодически "кушает" 100% CPU, сами страницы открываются долго и неохотно, каждая интерация в цикле занимает куда больше времени, чем пару секунд.
Изучал проблему, кажется, уже со всех ракурсов - начиная от slow query (коих, к слову, не оказалось), заканчивая strace php-процессов. Пока безрезультатно.

Впервые обращаюсь на форум авторитетных специалистов, возможно, у вас на практике были подобные проблемы.
В настоящий момент грешу на долгоОткрытые соединения ( в час пик их может быть одновременно ~300, не считая быстрые соединения при открытии других страниц сайта - их порядка 100 запросов в секунду).

Стоит закрывать соединение при выполнении и открывать при необходимости вновь записать данные?
...
Рейтинг: 0 / 0
Закрывать соединение при долгой работе скрипта?
    #39703949
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Удержание соединения требует меньше ресурсов, чем переоткрытие...
...
Рейтинг: 0 / 0
Закрывать соединение при долгой работе скрипта?
    #39703971
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
showroommysql периодически "кушает" 100% CPU, сами страницы открываются долго и неохотно,Если "кушает" - значит, работает. Другой вопрос, что конкретно он делает. Может, запрос какой-то выполняет. Если полезный и правильный во всех отношениях - так это нормально.
Страницы же сайта могут "долго и неохотно" открываться по куче всяких причин. Применительно к MySQL можно рассматривать ожидание снятия блокировки с таблицы другим запросом, например, но этот момент надо ещё найти.

showroomslow query (коих, к слову, не оказалось)Смотрели со стандартным порогом "медленности" в одну секунду или поднимали планку до 0,5...0,1 секунды и выше?
При трех сотнях одновременных (если правильно понял) процессов по 0,1 секунды на запрос - получается пол-минуты на одну итерацию нужно им всем скопом, это весьма грубо и оценочно, конечно.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Закрывать соединение при долгой работе скрипта?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]