URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 2160
[ Назад ]

Исходное сообщение
"Perl скрипт сильно завышает uptime"

Отправлено repin777 , 10-Мрт-04 21:47 
Есть скрипт на perl, представляюший собой неблокирующий сервер, поясню
в цикле:
while(1)
{
  1.Через каждые две секунды выполняется некий блок операторов.
  2.Если есть подключения клиентов, то обрабатываю и посыл некий ответ
}
Так вот таккой скрип, как мне сказал админ, сильно загружает сервак(7 процессоров), говорит uptime большой, я лично даже не понимаю в чем может быть дело, чему здесь тормозить?

Содержание

Сообщения в этом обсуждении
"Perl скрипт сильно завышает uptime"
Отправлено GliNT , 11-Мрт-04 12:47 
>Есть скрипт на perl, представляюший собой неблокирующий сервер, поясню
>в цикле:
>while(1)
>{
>  1.Через каждые две секунды выполняется некий блок операторов.
>  2.Если есть подключения клиентов, то обрабатываю и посыл некий ответ
>
>}
>Так вот таккой скрип, как мне сказал админ, сильно загружает сервак(7 процессоров),
>говорит uptime большой, я лично даже не понимаю в чем может
>быть дело, чему здесь тормозить?

Может дело в блоке операторов быть, там создается нагрузка.
А так, раз в 2 секунды - это ерунда, тем более для семи процессоров ;)


"Perl скрипт сильно завышает uptime"
Отправлено repin777 , 11-Мрт-04 13:17 
>Может дело в блоке операторов быть, там создается нагрузка.
>А так, раз в 2 секунды - это ерунда, тем более для
>семи процессоров ;)

а не может быть что perl чудит с памятью, так как нагрузка увеличивается со временем. Я еще не сказал но уменя достаточно интенсивно делается перебор хеша функцией foreach(keys %hash), правда хаш то не большой не более 10 записей.


"Perl скрипт сильно завышает uptime"
Отправлено GliNT , 11-Мрт-04 14:29 
>>Может дело в блоке операторов быть, там создается нагрузка.
>>А так, раз в 2 секунды - это ерунда, тем более для
>>семи процессоров ;)
>
>а не может быть что perl чудит с памятью, так как нагрузка
>увеличивается со временем. Я еще не сказал но уменя достаточно интенсивно
>делается перебор хеша функцией foreach(keys %hash), правда хаш то не большой
>не более 10 записей.

Запусти его на часик и посмотри, сколько времени он работает. Это можно посмотреть при помощи ps или top (поле TIME).
Также посмотри, сколько он памяти занимает, всего и реально (SIZE и RES в top).


"Perl скрипт сильно завышает uptime"
Отправлено solotony , 15-Мрт-04 17:51 
Что бы перл чудил - такое вряд-ли. У меня были хеши за миллион записей, и ничего, работало.

"Perl скрипт сильно завышает uptime"
Отправлено Leningrad , 11-Мрт-04 22:43 
1,2 в студию
while(1){} грузит на все 100

"Perl скрипт сильно завышает uptime"
Отправлено Stant , 14-Мрт-04 23:08 
>while(1)
>{
>  1.Через каждые две секунды выполняется некий блок операторов.
>  2.Если есть подключения клиентов, то обрабатываю и посыл некий ответ
>
>}
А как отмеряются эти две секунды? Не знаю как, в Перле, но в C-никах обычно ставят Sleep(), когда не требуется высокая частота обновления, например:
while(1)
{
   ... (действия)
   Sleep(200);
}


"Perl скрипт сильно завышает uptime"
Отправлено solotony , 15-Мрт-04 17:48 
Один процесс не должен завешивать более одного процессора.

Как я понимаю, пункт 2 выполняется не один раз в 2 секунды, а на каждом шаге цикла. Тогда он действительно завесит на 100%.


"Perl скрипт сильно завышает uptime"
Отправлено Beut , 16-Мрт-04 03:15 
>Один процесс не должен завешивать более одного процессора.
>Как я понимаю, пункт 2 выполняется не один раз в 2 секунды,
>а на каждом шаге цикла. Тогда он действительно завесит на 100%.

А какая операционная система?


"Perl скрипт сильно завышает uptime"
Отправлено Simps , 02-Апр-04 17:03 
>>Один процесс не должен завешивать более одного процессора.
>>Как я понимаю, пункт 2 выполняется не один раз в 2 секунды,
>>а на каждом шаге цикла. Тогда он действительно завесит на 100%.
>
>А какая операционная система?

Если фря я бы молча подправил login.conf ибо нефиг (Всмысле я это АДМИН)