Форум → Программирование → PHP для идиотов → Парсер CPU на PHP
Парсер CPU на PHP
Страницы: ← Предыдущая страница →
-
Июль 27, 2011, 11:20 д.п., спустя 7 минут 42 секунды
чет мутняк какой то.
сайт(ы) тестил на отдачу? может mysql -
Июль 27, 2011, 11:37 д.п., спустя 16 минут 53 секунды
после полного перехода на нгинкс пол года назад, к апачу вообще не тянет
а установка nginx как front-end к apache прокатит?сайт(ы) тестил на отдачу? может mysql
В команде top когда Cpu 100% mysql нет в помине, там только процесс apache2
насчет теста на отдачу, можете поделится Вашим способом тестирование ? -
Июль 27, 2011, полдень, спустя 23 минуты 8 секунд
а установка nginx как front-end к apache прокатит?
честно - не знаю, поможет ли, но, имхо, все-таки надо найти причину такого поведения апача -
Июль 27, 2011, 1:07 п.п., спустя 1 час 7 минут 10 секунд
установка nginx как front-end к apache
Это не дает ускорения, наобот замедлит работу сервера, делают это умные люди, которые разделяют проект на статику и динамику, динамику бросая на апач а статику на нжинкс. При этом апач все равно может упасть и ничего не спасет. -
Июль 27, 2011, 1:25 п.п., спустя 17 минут 7 секунд
Кому интересен скрипт вот немного переделанный
<?php
if (!function_exists("ssh2_connect")) echo("function ssh2_connect doesn't exist");
// log in at server1.example.com on port 22
if(!($con = ssh2_connect("ssh-ip", 22))){
echo "fail: unable to establish connection\n";
} else {
// try to authenticate with username root, password secretpassword
if(!ssh2_auth_password($con, "ssh-user", "ssh-password")) {
echo "fail: unable to authenticate\n";
} else {
// allright, we're in!
echo "okay: logged in…\n";
// execute a command
if (!($stream = ssh2_exec($con, "top -b -n 1 -u www-data"))) {
echo "fail: unable to execute command\n";
} else {
// collect returning data from command
stream_set_blocking($stream, true);
$data = "";
while ($buf = fread($stream,4096)) {
$data .= $buf."<br />";
#echo $buf
}
$fp = fopen("logs.txt", "w+");
$write = fwrite($fp, $data);
fclose($stream);
}
}
}
// Сохраняем логи команды top
$FileData = file("logs.txt");
// Удаляем ненужные данные из массива
unset($FileData[0], $FileData[1], $FileData[2], $FileData[3], $FileData[4], $FileData[5]);
for($i=30; $i <= 120; $i++) {unset($FileData[$i]);}
// С помощью регулярных выражений развиваем данные в простой массив
foreach($FileData as $k) {
$k = preg_replace("#(\s+)#", " ", $k);
preg_match_all("|(\d+)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s(.*)\s|isU", $k, $matches);
$a++;
$logs[$a]['pid'] = $matches[1][0];
$logs[$a]['percent'] = $matches[9][0];
$logs[$a]['time'] = $matches[11][0];
$logs[$a]['proces'] = $matches[12][0];
$total_cpu += $matches[9][0];
}
// Идет проверка на cpu, если процесс работает более 5 минут и пожирает более 20% из CPU
// убиваем процесс и заносим его в логи
echo "Total CPU: $total_cpu %<br />";
$open_logs = fopen("KillLogs.txt", "a+");
if($total_cpu >= 90) {$Alert = fwrite($open_logs, date("Y-m-d H:i:s")." Alert: CPU $total_cpu %\n");}
foreach ($logs as $k => $n) {
echo "PID: {$n['pid']} CPU: {$n['percent']} Time: {$n['time']} Proces: {$n['proces']}<br />";
if($total_cpu >= 90) {
if($n['time'] > "03:00:00" and $n['percent'] > 20 and $n['proces'] == "apache2") {
// Убиваем процесс
if(!(ssh2_exec($con, "kill ".$n['pid']))) {$result = "ERROR";} else {$result = "SUCCESS";}
// Пишем в лог
$AddToKill = fwrite($open_logs, date("Y-m-d H:i:s")." PID: {$n['pid']} CPU: {$n['percent']} Time: {$n['time']} Proces: {$n['proces']} - $result\n");
}
}
}
// Логи кто подключился к скрипту
$confp = fopen("conConnect.txt", "a+");
$add = fwrite($confp, date("Y-m-d H:i:s")." Подключение с IP:".$_SERVER['REMOTE_ADDR']."\n");
?> -
Июль 28, 2011, 4:43 д.п., спустя 15 часов 18 минут 21 секунду
Согласен, питался выяснить в логах папача, нет ошибок во время скачка CPU
- Проверил и логи сайтов (хз мб ддосят) чисты хотя гугл заглядывает но он не только в это время заглядывал
Посмотри лог PHP. Можешь еще попробовать поставить поменьше (в разумных пределах) max_execution_time и memory_limit чтобы увидеть, на чем такое потребление начинается. Лиюо просто мониторь хагрузку почаще. Как только загрузка пошла, смотри в логи апача, куда обращаются обращаются -
-
Авг. 15, 2011, 12:37 д.п., спустя 17 дней 10 часов 5 минут
Это не дает ускорения, наобот замедлит работу сервера, делают это умные люди, которые разделяют проект на статику и динамику, динамику бросая на апач а статику на нжинкс. При этом апач все равно может упасть и ничего не спасет.
Дядя петя что за хуету ты несёшь? При связке nginx+apache количество процессов апача падает в несколько раз, из-за того что статику раздаёт nginx. А если их количество упадёт, то что будет, да, петя, правильно ускорение.Это не дает ускорения, наобот замедлит работу сервера
Ты имел в виду:Это не дает ускорения, нанобот замедлит работу сервера
Не?:D -
Авг. 15, 2011, 11:25 п.п., спустя 22 часа 48 минут 40 секунд
Новый выпуск кривого зеркала начался?ри связке nginx+apache количество процессов апача падает в несколько раз
чо правда штоле -
Авг. 16, 2011, 12:04 д.п., спустя 38 минут 42 секунды
чо правда штоле
прикинь .. :))
вспомнилось видео
http://vkontakte.ru/video_ext.php?oid=711949&id=140755625&hash=c105cff903139eb4&sdСапожник без сапог -
Авг. 16, 2011, 1:18 п.п., спустя 13 часов 14 минут 4 секунды
С возвращением, Пiха! hyperoff.ru - качественный хостинг php -
-
Дек. 17, 2011, 7:09 д.п., спустя 117 дней 7 часов 33 минуты
высокий WCPU в основном показывает на плохую производительность с БД
Страницы: ← Предыдущая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!