Найти - Пользователи
Полная версия: как не нагружать сервер
Начало » Network » как не нагружать сервер
1 2 3
getme
Здравсвуйте,

Пишу скрипт обхода веб-сайта по ссылкам и сбора нужной информации и записи на диск.
По сути это индексатор, но только очень заточенный под свои нужды.

вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
clopomor
нагрузку на сервері по якому лазить ваш web-crawler можна зняти лише по snmp - якщо маєте доступ по мережі
до цього сервісу(тобто сервер - Ваш)… інакше сумніваюсь що вам через веб дадуть доступ до осі на якій крутиться веб-сервер…. хіба дирку найдете і отримаєте шелл :)
getme
спасибо хлопчик, но можно русски?
pythonwin
getme
вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
мне в твоем вопросе немного не понятно что и зачем ты делаешь:
- ты скачиваешь сайт с чужого сервера и хочешь это автоматизировать или же пишешь скрипт по складываю сервера, причем второе предположение я сделал по желанию “контролировать” CPU/ОЗУ сервера (как я понимаю на котором нужно стоит сайт)?
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?
clopomor
мальчик смотри snmp
redixin
зная свой pid можно узнать нагрузку которую он создает. простейший способ – забрать и отпарсить вывод чегото вроде top или ps
slav0nic
getme
советую не заморачиваваться, а тупо затестить предельную нагрузку и ограничить в скрипте одновременное число тредов/коннектов к серверу и тп, в общем ту часть, которая эту нагрузку содаёт=), которое будет максимально приемлемым
а для снятия нагрузки лучше воспользоваться monit, он тебе графики нарисует
http://mmonit.com/monit/
getme
pythonwin
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?
скрипт который рекурсивно обходит удаленный веб-сайт, т.е

1.получил страницу
2.записал в файл
3.получил все ссылки с данной страницы и опять к пункту 1
getme
Я представляю это так

Создается процесс который висит в памяти и периодически (скажем раз в секунду) запускает другой процесс который и делает 1,2 пункты описанные выше

но перед тем как он создаст этот процес он проверяет достаточность памяти/cpu

возможно ли такое сделать?
shiza
да. конечно.
Можно написать скрипт, который будет в цикле проверять:
загрузку процессора, и в зависимости от, запускать скачку прям внутри себя (т.е. запускать другой процесс не обязательно).
Главное потом после скачки следить, чтоб ресурсы очищались (иначе потрбеление памяти будет примерно постоянным).

для определения загрузки процессора - читать:
/proc/stat
или
/proc/loadavg
в зависимости от требуемой точности.

для памяти:
/proc/meminfo
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB