У меня есть php веб-приложение, работающее в Linode server(189G, 8G RAM)
,
Для чтения данных с большого xml file
а также inserting it into DB after processing
,
Также есть другой скрипт для fetch this report from DB and to export into CSV
,
Я установил memory_limit as 1GB for the application
, так как читает большие файлы.
И во время выполнения этого скрипта в терминале он показывает, что загрузка процессора высока. Я использовал команду top во время работы скрипта. там 'mysql'
пользователь показывает больше, чем 100/200 CPU usage
,
Какие могут быть причины и как я могу уменьшить это?
Как влияет переменная memory_limit, спецификация машины, циклы кода на загрузку процессора?
Одно из решений состоит в том, чтобы разбить XML-файл на несколько файлов и посмотреть, как это работает.
Другое решение было бы ограничить использование процессора с помощью отлично или же CPULimit команда http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
Других решений пока нет …