Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 12, 2008 01:35:52

getme
От:
Зарегистрирован: 2008-12-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

Здравсвуйте,

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

вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.



Офлайн

#2 Дек. 12, 2008 14:57:12

clopomor
От:
Зарегистрирован: 2007-06-12
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

нагрузку на сервері по якому лазить ваш web-crawler можна зняти лише по snmp - якщо маєте доступ по мережі
до цього сервісу(тобто сервер - Ваш)… інакше сумніваюсь що вам через веб дадуть доступ до осі на якій крутиться веб-сервер…. хіба дирку найдете і отримаєте шелл :)



Офлайн

#3 Дек. 12, 2008 15:21:43

getme
От:
Зарегистрирован: 2008-12-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

спасибо хлопчик, но можно русски?



Офлайн

#4 Дек. 12, 2008 15:52:57

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

getme
вопрос таков, возможно ли как-то контролировать нарузку на сервер? (CPU/RAM) созданная самим скриптом.
мне в твоем вопросе немного не понятно что и зачем ты делаешь:
- ты скачиваешь сайт с чужого сервера и хочешь это автоматизировать или же пишешь скрипт по складываю сервера, причем второе предположение я сделал по желанию “контролировать” CPU/ОЗУ сервера (как я понимаю на котором нужно стоит сайт)?
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?



Отредактировано (Дек. 12, 2008 15:53:21)

Офлайн

#5 Дек. 12, 2008 16:07:46

clopomor
От:
Зарегистрирован: 2007-06-12
Сообщения: 154
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

мальчик смотри snmp



Офлайн

#6 Дек. 12, 2008 17:59:53

redixin
От:
Зарегистрирован: 2006-11-27
Сообщения: 66
Репутация: +  1  -
Профиль   Отправить e-mail  

как не нагружать сервер

зная свой pid можно узнать нагрузку которую он создает. простейший способ – забрать и отпарсить вывод чегото вроде top или ps



Офлайн

#7 Дек. 12, 2008 18:08:48

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2252
Репутация: +  40  -
Профиль   Отправить e-mail  

как не нагружать сервер

getme
советую не заморачиваваться, а тупо затестить предельную нагрузку и ограничить в скрипте одновременное число тредов/коннектов к серверу и тп, в общем ту часть, которая эту нагрузку содаёт=), которое будет максимально приемлемым
а для снятия нагрузки лучше воспользоваться monit, он тебе графики нарисует
http://mmonit.com/monit/

Офлайн

#8 Дек. 12, 2008 21:47:29

getme
От:
Зарегистрирован: 2008-12-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

pythonwin
- ты скачиваешь с чужого сервера и хочешь контролировать как эффективно твой скрипт использует ресурсы твоего ПК. который почему-то называется у тебя “сервером”?
скрипт который рекурсивно обходит удаленный веб-сайт, т.е

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



Офлайн

#9 Дек. 12, 2008 22:22:16

getme
От:
Зарегистрирован: 2008-12-12
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

Я представляю это так

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

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

возможно ли такое сделать?



Офлайн

#10 Дек. 12, 2008 23:59:38

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

как не нагружать сервер

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

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

для памяти:
/proc/meminfo



Отредактировано (Дек. 13, 2008 00:13:54)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version