@antonowano
Профессиональный самоучка

Как не уронить сайт запуская громадный скрипт в кроне?

У скрипта следующие действия:
1. он скачивает немалый gz архив.
2. распаковывает и считывает вложенный xml.
3. из xml забирает объекты в БД и скачивает фотографии.

При мониторинге выполнения сервер показывает:
a236197df9d94fae875630690b4b1b40.png
С такой нагрузкой сайт становится недоступным.

Подскажите как поступить, можно ли ограничить скрипту количество используемых процессов.
И чего стоит избегать в самом скрипте?
  • Вопрос задан
  • 612 просмотров
Решения вопроса 1
@antonowano Автор вопроса
Профессиональный самоучка
Нашел проблему в скрипте. Функция simplexml_load_file съедал всю ОЗУ, записывая в память здоровенный XML, от чего сервер зависал. После переписи скрипта под класс XMLReader, скрипт перестал съедать весь ОЗУ. Сделал как в примере: как использовать XMLReader.
Спасибо Adamos за подсказку:
Громадные файлы и SimpleXML, прямо скажем, не созданы друг для друга.

Для разбора файла использовал XMLReader
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
v_sadist
@v_sadist
DevOps engineer
Приветствую, топик стартер.
А откуда он скачивает архив? Стоит еще озаботиться вопрос сетевой нагрузки.
Предоставьте скрипт, это поможет лучше продумать решение.
Ответ написан
@mureevms
На каком шаге возникает нагрузка? Если при распаковке, то Как извлечь из tar-архива определенные файлы
Ответ написан
@neol
LA 3.5 при 8 ядрах не выглядит поводом для недоступности сайта.
Может проблема в блокировке таблицы на время обновления БД?
Ответ написан
yarofon
@yarofon
Выполняйте крон на другом сервере. Например, стартуйте инстанс EC2 на амазоне (если не часто).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
от 300 000 до 500 000 ₽
20 апр. 2024, в 14:27
3000 руб./за проект
20 апр. 2024, в 13:56
7000 руб./за проект
20 апр. 2024, в 13:52
7000 руб./за проект