Форум сайта python.su
Здравсвуйте,
Пишу скрипт обхода веб-сайта по ссылкам и сбора нужной информации и записи на диск.
По сути это индексатор, но только очень заточенный под свои нужды.
вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
Офлайн
нагрузку на сервері по якому лазить ваш web-crawler можна зняти лише по snmp - якщо маєте доступ по мережі
до цього сервісу(тобто сервер - Ваш)… інакше сумніваюсь що вам через веб дадуть доступ до осі на якій крутиться веб-сервер…. хіба дирку найдете і отримаєте шелл :)
Офлайн
спасибо хлопчик, но можно русски?
Офлайн
getmeмне в твоем вопросе немного не понятно что и зачем ты делаешь:
вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
Отредактировано (Дек. 12, 2008 15:53:21)
Офлайн
мальчик смотри snmp
Офлайн
зная свой pid можно узнать нагрузку которую он создает. простейший способ – забрать и отпарсить вывод чегото вроде top или ps
Офлайн
getme
советую не заморачиваваться, а тупо затестить предельную нагрузку и ограничить в скрипте одновременное число тредов/коннектов к серверу и тп, в общем ту часть, которая эту нагрузку содаёт=), которое будет максимально приемлемым
а для снятия нагрузки лучше воспользоваться monit, он тебе графики нарисует
http://mmonit.com/monit/
Офлайн
pythonwinскрипт который рекурсивно обходит удаленный веб-сайт, т.е
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?
Офлайн
Я представляю это так
Создается процесс который висит в памяти и периодически (скажем раз в секунду) запускает другой процесс который и делает 1,2 пункты описанные выше
но перед тем как он создаст этот процес он проверяет достаточность памяти/cpu
возможно ли такое сделать?
Офлайн
да. конечно.
Можно написать скрипт, который будет в цикле проверять:
загрузку процессора, и в зависимости от, запускать скачку прям внутри себя (т.е. запускать другой процесс не обязательно).
Главное потом после скачки следить, чтоб ресурсы очищались (иначе потрбеление памяти будет примерно постоянным).
для определения загрузки процессора - читать:
/proc/stat
или
/proc/loadavg
в зависимости от требуемой точности.
для памяти:
/proc/meminfo
Отредактировано (Дек. 13, 2008 00:13:54)
Офлайн