Страница 1 из 2

Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 14:31
Dram
Есть скрипт наполнения базы данных который работает по 6-10 часов, что нереально долго.
Скрипту нужно обновить порядка 50.000 записей

99,9 его работы состоит в запросах вида
SELECT article_associations FROM l.tradenames WHERE id=12
UPDATE tradenames SET article_associations = '1d5696fe7fb4ab330d9f8429b1b12db7' WHERE id = 12
UPDATE tradenames SET article_id = '43544' WHERE id = 13
SELECT article_associations FROM l.tradenames WHERE id=13
Что я пытался делать:
1. В настройках опенсервера сменил версию пхп на 7 - не заметил разницы
2. Отрубил антивирь и защитника виндовс - не заметил разницы
3. Вырубил поддержку IP6 - стало чуть быстрее
4. Создал виртуальный диск в памяти, дал ему 20 гигов и запустил опенсервер оттуда - стало чуть быстрее
5. заменил локалхост на 127.0.0.1 - стало чуть быстрее

идеи закончились. Все мои потуги дали +10-15% к скорости.
Я то думал из оперативы он начнет летать (до этого было на ссд) - но скрипт по прежнему работает часы!!!

Что еще можно предпринять?

P.S. у меня вин 10, ssd, 32 гиг оперативы и нормальный проц.
версия опенсервер последняя

P.S.S. в 1 секунду проходит не более 2-3 запросов

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 15:02
ERserver
могу ошибаться, но возможно надо поковырять php.ini параметры или апач конфигурационный файл, чтобы ускорить выполнение.

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 15:13
Dram
ERserver - надо че-то где-то подкрутить, но это не точно. Я правильно вас понял? Спс - обязательно воспользуюсь этим ценнейшим советом!

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 15:19
ERserver
Более точнее скажу. Попробуйте задать вопрос в поисковик оптимизация MySQL, SQL запросов - это тоже улучшит ситуацию. То есть переделав немного запросы в скрипте вы увидите разницу в скорости обращения или выполнения.

Например

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 15:24
Dram
как вы можете видет на примерах выше - запросы БАНАЛЬНЫЕ, там нечего оптимизировать

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 15:35
ERserver
Ограничение времени выполнения скрипта - Документация PHP.NET


Смотрите также
max_execution_time
max_input_time


Правится в php.ini

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 15:59
Dram
Вы какой то бред советуете если честно. Зачем ограничивать время? Скрипт у меня работает и проблем с этим нет. Я не понимаю почему простейшие запросы выполняются так медленно

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 16:25
ERserver
Извините, но пытаюсь Вам помочь. Если Вы считаете, что использование времени выполнения за счет php.ini является бредом. Тогда ищите проблему в Вашем железе.
В документации написано не только про время, но и про директивы true и false при их использовании которых вы увидите как отрабатывает ваш запрос. Если Вы считаете, что это не к месту, а также оптимизация самого запроса в базе данных и тестирование работоспособности с использованием из примера цитирую
Для проверки быстродействия запроса:
SET STATISTICS TIME ON
GO
Для проверки статистики ввода/вывода:
SET STATISTICS IO ON
GO
Для вывода плана запроса:
SET STATISTICS XML ON
GO
является тоже бредом? Тогда желаю Вам только удачи справиться самостоятельно в возникшей ситуации.

ps: оптимизация запроса улучшила бы ситуацию.

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 16:32
DelphinPRO
Индексы отключаются на время обновления?
Или в транзакциях все проходит?
Или тупо фигачите запросы в цикле?

Re: Ооочень долгое выполнение скриптов

Добавлено: 21 фев 2018, 17:53
Dram
Индексов не было. Забыл про них. Добавил куда только можно, ситуацию не улучшило... да и с чегобы, повторяю запросы банальные.
Да - запросы в цикле, селект/аптейт и снова и т.д.