Pegiy
Guest
Подвисание системы
Есть скрипт, который загружает html-страницы и затем парсит их.
Периодически из-за этого скрипта весь сайт начинает значительно тормозить.
Как при парсинге, так и, что удивительно, при загрузке html-страниц.
Закономерности не нахожу, единственный способ борьбы на данный момент - запсук кроном ночью, по ряду причин не устраивает.
Вопрос 1.
Почему так загружается процессор при загрузке страниц?
Используемые методы следующие:
function openFile()
{
$this->ch = curl_init();
curl_setopt($this->ch, CURLOPT_URL, $this->url);
curl_setopt($this->ch, CURLOPT_TIMEOUT, 2000);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1);
return $this->ch;
}
function readFile()
{
if ($this->ch)
{
curl_setopt($this->ch,CURLOPT_RETURNTRANSFER,'1');
return curl_exec($this->ch);
}
else
{
$msg = $this->msg_error ['DONT_READ_FILE'].$this->url;
$this->error->printError($msg);
return 0;
}
}
Вопрос 2.
Как можно понизить приоритет запускаемого скрипта, чтобы он не сжирал все ресурсы, но при этом дорабатывал до конца?
Спасибо!
Есть скрипт, который загружает html-страницы и затем парсит их.
Периодически из-за этого скрипта весь сайт начинает значительно тормозить.
Как при парсинге, так и, что удивительно, при загрузке html-страниц.
Закономерности не нахожу, единственный способ борьбы на данный момент - запсук кроном ночью, по ряду причин не устраивает.
Вопрос 1.
Почему так загружается процессор при загрузке страниц?
Используемые методы следующие:
function openFile()
{
$this->ch = curl_init();
curl_setopt($this->ch, CURLOPT_URL, $this->url);
curl_setopt($this->ch, CURLOPT_TIMEOUT, 2000);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1);
return $this->ch;
}
function readFile()
{
if ($this->ch)
{
curl_setopt($this->ch,CURLOPT_RETURNTRANSFER,'1');
return curl_exec($this->ch);
}
else
{
$msg = $this->msg_error ['DONT_READ_FILE'].$this->url;
$this->error->printError($msg);
return 0;
}
}
Вопрос 2.
Как можно понизить приоритет запускаемого скрипта, чтобы он не сжирал все ресурсы, но при этом дорабатывал до конца?
Спасибо!