Страница 1 из 3
MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 18:50
TEZARIUS
Не так давно стал пользоваться Open Server и очень неприятный момент при работе с запросами (когда их много, в моем случае на одной из страниц около 300) что каждый запрос требует минимум 1 секунду.
Понимаю когда это запрос вида INSERT или UPDATE
но запросы и SELECT тоже обрабатываются минимум 1 секунду.
Как и где можно исправить в настройках чтобы убрать это ограничение (ждать каждый раз при обновлении страницы 5 минут жутко неудобно, я бы даже сказал это реально начинает бесить).
Время работы скрипта 511.7061 сек.
Сборка:
Apache_2.4-PHP_7.2-7.4
PHP_7.4
MyAQL-8.0-Win10
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 19:07
SagePointer
Об этом есть в документации, почему бы её не прочитать в первую очередь?
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 19:15
Максим
Если во время установки не ставить галочку "
Оптимизировать настройки сетевого стека Windows", то php скрипт при каждой попытке соединиться с БД (если в качестве сервера БД указан домен, а не ip) пробует это сделать через IPv6, на это тратится 1 секунда. Запустите [Меню - Мои закладки - Первый запуск] и поставьте там галочку на оптимизации сетевого стека, после чего примените изменения и перезагрузитесь.
Так же у вас неправильно написанный скрипт, он после каждого запроса закрывает соединение с БД, что в корне неправильно. Нормальный скрипт с такой проблемой в системе (это даже не проблема, просто так Windows по умолчанию настроена) должен иметь время подключения 1 секунду, а не 300 раз подключаться к БД по 1 секунде.
Если версия osp у вас ниже чем 5.4.2, то скачайте пожалуйста
этот файл и сделайте изменения с помощью него.
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 19:18
TEZARIUS
SagePointer писал(а): ↑08 май 2022, 19:07
Об этом есть в документации, почему бы её не прочитать в первую очередь?
Вам не кажется что одного абзаца, информирующего о том что есть проблема, недостаточно чтобы ее исправить и что о настройке этих приоритетов (чтобы не было 1-й секунды) тоже ничего не сказано!
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 19:21
Максим
SagePointer писал(а): ↑08 май 2022, 19:07
Об этом есть в документации, почему бы её не прочитать в первую очередь?
Документация просто предупреждает, а настраивается система во время установки. По умолчанию в последней версии установщика эта галочка сейчас не стоит, нужно ставить руками, видимо не все это делают и не понимают последствий. Вероятно нужно вернуть как было раньше в первых версиях установщика - чтобы эта галочка стояла по умолчанию...
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 21:04
TEZARIUS
Максим писал(а): ↑08 май 2022, 19:15
Если во время установки не ставить галочку "
Оптимизировать настройки сетевого стека Windows", то php скрипт при каждой попытке соединиться с БД (если в качестве сервера БД указан домен, а не ip) пробует это сделать через IPv6, на это тратится 1 секунда. Запустите [Меню - Мои закладки - Первый запуск] и поставьте там галочку на оптимизации сетевого стека, после чего примените изменения и перезагрузитесь.
Данное действие не помогло.
Максим писал(а): ↑08 май 2022, 19:15
Так же у вас неправильно написанный скрипт, он после каждого запроса закрывает соединение с БД, что в корне неправильно. Нормальный скрипт с такой проблемой в системе (это даже не проблема, просто так Windows по умолчанию настроена) должен иметь время подключения 1 секунду, а не 300 раз подключаться к БД по 1 секунде.
у меня подключение к БД идет 1 раз в начале, а потом я делаю только запросы по разным условиям.
Версия у меня 5.4.1 так что попробую вариант с вашим файлом.
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 21:19
Максим
Сделайте ping localhost в консоли. Если в ответе ::1 то вы не произвели настройку (не поставили галочку или не перезагрузились после этого).
Далее если в ответе ping localhost всё хорошо (127.0.0.1), то тут остается 2 варианта:
1) У вас в настройках программы включено ведение логов MySQL (а судя по скриншоту - да). Это сильно замедляет работу, т.к. каждый запрос пишется целиком на диск. А если при этом диск не SSD, то работа замедляется в разы.
2) Ваши запросы просто выполняются долго (сложные, либо много данных) и тут уже вопросы не к серверу.
Re: MySQL запрос в 1 секунду.
Добавлено: 08 май 2022, 21:33
TEZARIUS
1) пинг до локала в консоле показал все ок (не ::1 а 127.0.0.1)
2) значит мне надо отключить запись логов если это тормозит системе (да сервер у меня не на ССД а на внешнем диске, чтобы можно было работать на любом компьютере, хоть в последнее время это и мало требуется)
3) запросы сложные НО на глобальном сервере (боевом где сидит до 1000 юзеров в пик нагрузки) страница со скриптами грузится быстро.
П.С. после отключения логов обработка все равно заняла не мало времени
для сравнения (внизу страницы стоит обработчик загрузки):
https://flameraiders.com/tournaments/me ... tur_id=240
- на живом сервере это заняло - Время работы скрипта 4.2728 сек.
- на локальном - Время работы скрипта 297.1494 сек.

(
Re: MySQL запрос в 1 секунду.
Добавлено: 09 май 2022, 05:59
SagePointer
TEZARIUS писал(а): ↑08 май 2022, 21:33
- на живом сервере это заняло - Время работы скрипта 4.2728 сек.
- на локальном - Время работы скрипта 297.1494 сек.
А индексы в таблице есть? Или запрос выполняет полное чтение всей таблицы с диска при каждом запросе?
Re: MySQL запрос в 1 секунду.
Добавлено: 09 май 2022, 07:34
Максим
А если там ещё и все данные в буферный пул InnoDB не помещаются (по умолчанию в open server он маленький), а если ещё и внешний диск какой-нибудь старый USB 2.0 с простым контроллером, который выше 20 МБ/сек не выдаёт, то не удивительно что такие тормоза. Можно попробовать оптимизировать конфиг mysql модуля.
На хостинге у крупных провайдеров многие сервера имеют по 128 гигов памяти и по 24 ядра, не говоря уже про скоростные дисковые подсистемы, тут как бы с обычным компом нечего даже сравнивать.