Этот сайт не наркоманов. Это сайт программистов.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Мы в твиттере!
Мы вконтакте!
Мы на яндексе!

Краснодарское время: 25 Май, 2012, 02:04:28

Страниц: 1 [2]
Печать
Автор Тема: Парсер CPU на PHP  (Прочитано 1040 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Faster    ↓ 
27 Июль, 2011, 11:20:47
НЕ ХУЕТА! ХУЕТА!


Карма: 10
Сообщений: 954
Сила слова: 1.05

чет мутняк какой то.
сайт(ы) тестил на отдачу? может mysql
Записан

воспитываю дочь. С домами и деревьями  - не приставать.
tartar    ↓ 
27 Июль, 2011, 11:37:40 , спустя 16 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 166
Сила слова: -0.6

после полного перехода на нгинкс пол года назад, к апачу вообще не тянет
а установка nginx как front-end к apache прокатит?
 
сайт(ы) тестил на отдачу? может mysql
В команде top когда Cpu 100% mysql нет в помине, там только процесс apache2
 
насчет теста на отдачу, можете поделится Вашим способом тестирование ?
Записан
Sinkler    ↓ 
27 Июль, 2011, 12:00:48 , спустя 23 минуты 8 секунд
НЕ ХУЕТА! ХУЕТА!

Похуй, пляшем!
Группа: Джедаи

Карма: 73
Сообщений: 6806
Сила слова: 1.07

а установка nginx как front-end к apache прокатит?
честно - не знаю, поможет ли, но, имхо, все-таки надо найти причину такого поведения апача
Записан

fgets    ↓ 
27 Июль, 2011, 01:07:58 , спустя 1 час 7 минут 10 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 1119
Сила слова: -0.09


установка nginx как front-end к apache

Это не дает ускорения, наобот замедлит работу сервера, делают это умные люди, которые разделяют проект на статику и динамику, динамику бросая на апач а статику на нжинкс. При этом апач все равно может упасть и ничего не спасет.
Записан

эй детка не ссы в бассейн

Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
tartar    ↓ 
27 Июль, 2011, 01:25:05 , спустя 17 минут 7 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 166
Сила слова: -0.6

Кому интересен скрипт вот немного переделанный
PHP

<?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");
?>
 
Записан
mexys    ↓ 
28 Июль, 2011, 04:43:26 , спустя 15 часов 18 минут 21 секунду
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 19
Сила слова: 0


 
Согласен, питался выяснить в логах папача, нет ошибок во время скачка CPU
- Проверил и логи сайтов (хз мб ддосят) чисты хотя гугл заглядывает но он не только в это время заглядывал
Посмотри лог PHP. Можешь еще попробовать поставить поменьше (в разумных пределах) max_execution_time и memory_limit чтобы увидеть, на чем такое потребление начинается. Лиюо просто мониторь хагрузку почаще. Как только загрузка пошла, смотри в логи апача, куда обращаются обращаются
Записан
tartar    ↓ 
28 Июль, 2011, 02:32:04 , спустя 9 часов 48 минут 38 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 166
Сила слова: -0.6

mexys, спасибо за совет попробую.
 
инфометр правду сказал http://info-metr.ru/?do=view&info=44
Записан
intval    ↓ 
15 Август, 2011, 12:37:11 , спустя 17 дней 10 часов 5 минут 7 секунд
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 3
Сила слова: 0

Это не дает ускорения, наобот замедлит работу сервера, делают это умные люди, которые разделяют проект на статику и динамику, динамику бросая на апач а статику на нжинкс. При этом апач все равно может упасть и ничего не спасет.
Дядя петя что за хуету ты несёшь? При связке nginx+apache количество процессов апача падает в несколько раз, из-за того что статику раздаёт nginx. А если их количество упадёт, то что будет, да, петя, правильно ускорение.
Это не дает ускорения, наобот замедлит работу сервера
Ты имел в виду:
Это не дает ускорения, нанобот замедлит работу сервера
Не?:D
Записан
fgets    ↓ 
15 Август, 2011, 11:25:51 , спустя 22 часа 48 минут 40 секунд
НЕ ХУЕТА! ХУЕТА!


Карма: -1
Сообщений: 1119
Сила слова: -0.09

Новый выпуск кривого зеркала начался?
ри связке nginx+apache количество процессов апача падает в несколько раз
чо правда штоле
Записан

эй детка не ссы в бассейн

Если в бочку с говном положить ложку меда — получится бочка говна. Если в бочку с медом положить ложку говна, не обольщайтесь ...
phpdude    ↓ 
16 Август, 2011, 12:04:33 , спустя 38 минут 42 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 345
Сообщений: д-о-х-у-я!
Сила слова: 1.66

чо правда штоле
прикинь .. :))
 
вспомнилось видео
 
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
ivanscm    ↓ 
16 Август, 2011, 01:18:37 , спустя 13 часов 14 минут 4 секунды
НЕ ХУЕТА! ХУЕТА!

Синий властилин
Группа: Джедаи

Карма: 0
Сообщений: 1124
Сила слова: 0

люблю всякие баги и тесты на пользователях

http://screencast.com/t/itQ4dCYyp
Записан

intval    ↓ 
21 Август, 2011, 11:36:21 , спустя 5 дней 10 часов 17 минут 44 секунды
НЕ ХУЕТА! ХУЕТА!

Карма: 0
Сообщений: 3
Сила слова: 0


чо правда штоле
нехуй хуету нести
Записан
PandoraBox2007    ↓ 
17 Декабрь, 2011, 07:09:45 , спустя 117 дней 7 часов 33 минуты 24 секунды
НЕ ХУЕТА! ХУЕТА!


Карма: 0
Сообщений: 21
Сила слова: 0

высокий WCPU в основном показывает на плохую производительность с БД
Записан

Страниц: 1 [2]
Печать
 

Перейти в:  

Этот топик скрыли: adw0rd, artoodetoo, mario