getme
Дек. 12, 2008 01:35:52
Здравсвуйте,
Пишу скрипт обхода веб-сайта по ссылкам и сбора нужной информации и записи на диск.
По сути это индексатор, но только очень заточенный под свои нужды.
вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
clopomor
Дек. 12, 2008 14:57:12
нагрузку на сервері по якому лазить ваш web-crawler можна зняти лише по snmp - якщо маєте доступ по мережі
до цього сервісу(тобто сервер - Ваш)… інакше сумніваюсь що вам через веб дадуть доступ до осі на якій крутиться веб-сервер…. хіба дирку найдете і отримаєте шелл :)
getme
Дек. 12, 2008 15:21:43
спасибо хлопчик, но можно русски?
pythonwin
Дек. 12, 2008 15:52:57
getme
вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
мне в твоем вопросе немного не понятно что и зачем ты делаешь:
- ты скачиваешь сайт с чужого сервера и хочешь это автоматизировать или же пишешь скрипт по складываю сервера, причем второе предположение я сделал по желанию “контролировать” CPU/ОЗУ сервера (как я понимаю на котором нужно стоит сайт)?
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?
clopomor
Дек. 12, 2008 16:07:46
мальчик смотри snmp
redixin
Дек. 12, 2008 17:59:53
зная свой pid можно узнать нагрузку которую он создает. простейший способ – забрать и отпарсить вывод чегото вроде top или ps
slav0nic
Дек. 12, 2008 18:08:48
getmeсоветую не заморачиваваться, а тупо затестить предельную нагрузку и ограничить в скрипте одновременное число тредов/коннектов к серверу и тп, в общем ту часть, которая эту нагрузку содаёт=), которое будет максимально приемлемым
а для снятия нагрузки лучше воспользоваться monit, он тебе графики нарисует
http://mmonit.com/monit/
getme
Дек. 12, 2008 21:47:29
pythonwin
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?
скрипт который рекурсивно обходит удаленный веб-сайт, т.е
1.получил страницу
2.записал в файл
3.получил все ссылки с данной страницы и опять к пункту 1
getme
Дек. 12, 2008 22:22:16
Я представляю это так
Создается процесс который висит в памяти и периодически (скажем раз в секунду) запускает другой процесс который и делает 1,2 пункты описанные выше
но перед тем как он создаст этот процес он проверяет достаточность памяти/cpu
возможно ли такое сделать?
shiza
Дек. 12, 2008 23:59:38
да. конечно.
Можно написать скрипт, который будет в цикле проверять:
загрузку процессора, и в зависимости от, запускать скачку прям внутри себя (т.е. запускать другой процесс не обязательно).
Главное потом после скачки следить, чтоб ресурсы очищались (иначе потрбеление памяти будет примерно постоянным).
для определения загрузки процессора - читать:
/proc/stat
или
/proc/loadavg
в зависимости от требуемой точности.
для памяти:
/proc/meminfo