Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Rtorrent vs SATA HDD

Ответить
Настройки темы
FreeBSD - Rtorrent vs SATA HDD

Аватара для emlen

Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте!
Есть машинка:
Код: Выделить весь код
CPU: Intel(R) Pentium(R) 4 CPU 1.50GHz (1514.92-MHz 686-class CPU)
real memory  = 134152192 (127 MB)
ad0: 76350MB <SAMSUNG SP8004H QW100-61> at ata0-master UDMA100
ad2: 476938MB <Seagate ST3500410AS CC34> at ata1-master UDMA133
На ней развернут pfsense, который в дальнейшем пересобран частично, докинуты порты и исходники мира.
Затем настроены proftpd и rtorrent с веб-мордочкой
Сигейт HDD имеет интерфейс SATA и подключен через переходник к IDE разъему мамы и фунциклирует нормально.
Предполагалось использовать его для хранения раздач и закачек rtorrent, но как только они начинают взаимодействовать (см. САБЖ), начинаются косяки, отрубается веб pfsens'а, rtorrent'а, вплоть до полного подвисания машинки. В связи с чем рождается вопрос:
  1. Как снизить нагрузку на проц?
  2. Как снизить нагрузку на жесткий (ad) диск, кроме как сменой режима UDMA?

Отправлено: 18:55, 04-01-2011

 

Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Цитата emlen:
Сигейт HDD имеет интерфейс SATA и подключен через переходник к IDE разъему мамы и фунциклирует нормально. »
Зачем через переходник? Расскажите, какое у вас остальное железо, особо интересует материнка и сеть. Также укажите, на базе какой версии FreeBSD сделан pfsense.
Цитата emlen:
Как снизить нагрузку на жесткий (ad) диск, кроме как сменой режима UDMA? »
Использовать по возможности AHCI. Заодно это снизит нагрузку на CPU. Смотрите systat -vmstat под нагрузкой, у вас там наверняка шторм прерываний.

Ну или искусственно ограничить скорость подключения и количество пиров для торрентов.

Отправлено: 19:56, 04-01-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для emlen

Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо, что ответили!
Итак перейду к деталям:
  1. какое у вас остальное железо
    1. мать-GIGABYTE GA-8SR533
    2. vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0xe800-0xe8ff mem 0xea012000-0xea0120ff irq 16 at device 12.0 on pci0
    3. rl0: <RealTek 8139 10/100BaseTX> port 0xec00-0xecff mem 0xea013000-0xea0130ff irq 17 at device 13.0 on pci0
  2. Зачем через переходник? Потому шта был винт, надо было его обогреть и применить, а мать старенькая...
  3. pfsense на базе FreeBSD 7.2-RELEASE-p5 i386, есть нюанс: вот мой make.conf, я не пересобирал мир, только не особо критичное..
    Код: Выделить весь код
    #/etc/make.conf
    PORTSDIR?= /usr/ports
    #   Intel x86 architecture:
    #       (AMD CPUs)      opteron athlon64 athlon-mp athlon-xp athlon-4
    #                       athlon-tbird athlon k8 k6-3 k6-2 k6 k5
    #       (Intel CPUs)    nocona pentium4[m] prescott pentium3[m] pentium-m
    #                       pentium2 pentiumpro pentium-mmx pentium i486 i386
    #       (Via CPUs)      c3 c3-2
    #   Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
    #   AMD64 architecture: opteron, athlon64, nocona
    #   Intel ia64 architecture: itanium2, itanium
    CPUTYPE?= i386
    # Здесь указываем дополнительные флаги
    CFLAGS=-O1 -pipe
    NO_PROFILE=true    # Обход построения библиотек для профилирования
    
    # Говорим что флаги включать обязательно
    NO_CPU_CFLAGS=false
    NO_CPU_COPTFLAGS=false
    # Отрубаем сборку ненужных библиотек и софта
    # посмотреть что еще можно накрутить тут
    # /usr/share/examples/etc/make.conf или чуть ниже я опишу.
    MAKE_KERBEROS4=false
    MAKE_KERBEROS5=false
    NO_BIND=true
    NO_SENDMAIL=true
    NO_GAMES=true
    
    
    # Документация токо для ENG и RUS
    DOC_LANG=en_US.ISO8859-1 ru_RU.KOI8-R
    
    SUP_UPDATE=
    SUP=            /usr/bin/csup
    SUPFLAGS=       -g -L 2 -z
    #SUPHOST=        cvsup.FreeBSD.org
    SUPFILE=        /etc/supfile
    #PORTSSUPFILE=   /usr/share/examples/cvsup/ports-supfile
    DOCSUPFILE=     /etc/supfile
    #OVERRIDE_LINUX_NONBASE_PORTS= f10
    #OVERRIDE_LINUX_BASE_PORT= f10
    #LINUX_DIST_SUFFIX= -f10
    #FORCE_PKG_REGISTER=yes
    WITCH=BATCH=yes # не выдавать окно в котором спрашивать с чем компилировать
    BATCH=yes
    MASTER_SITE_OVERRIDE?= \
    ftp://ftp5.ua.FreeBSD.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp7.ua.FreeBSD.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.ua.FreeBSD.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.gentoo.org.ua/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp2.ua.FreeBSD.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp6.ua.FreeBSD.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp8.ua.FreeBSD.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.linux.kiev.ua/pub/Linux/Gentoo/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.lucky.net/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR} \
    ftp://ftp3.ua.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp4.ua.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.ntu-kpi.kiev.ua/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.univ.kiev.ua/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
    ftp://ftp.univ.kiev.ua/pub/OS/FreeBSD/distfile/${DIST_SUBDIR} \
    
    # Настройки Perl
    # added by use.perl 2010-12-25 21:07:56
    PERL_VERSION=5.10.1
    PERL_ARCH=mach
    NOPERL=no
    WITH_PERL=yes
    WITHOUT_PERL=no
  4. Использовать по возможности AHCI Пожалуйста, можно с этого момента подробнее
  5. Ну или искусственно ограничить скорость подключения и... И вот мой .rtorrent.rc
    Код: Выделить весь код
    #минимальное число пиров на торрент
    min_peers = 1
    
    #максимальное число пиров на торрент 
    max_peers = 100
    
    # Тоже что и выше, только для seed выкаченных torrents (-1 = same as downloading)
    #min_peers_seed = 10
    #max_peers_seed = 50
    
    #максимальная скорость загрузки
    download_rate = 0
    
    #максимальная скорость отдачи. 0 - не ограничена
    upload_rate = 0
    
    # Максимальное количество одновременных закачек per torrent.
    max_uploads = 15
    
    #каталог для сохранения закачек или откуда буду сидироваться торренты.
    directory = /home/p2p/download/
    
    #каталог куда будет сохраняться состояние торрентов.
    #Здесь, в этом примере, они сохраняются в папку  session
    session = /home/p2p/session/
    
    #rtorrent каждые 5 секунд проверяет этот каталог на новые *.torrent файлы
    #и если они есть то ставит их на закачку
    schedule = watch_directory,5,5,load_start=/home/p2p/auto/*.torrent
    
    # и тормозим торрент если 
    # если .torrent файл удалён
    schedule = untied_directory,5,5,stop_untied=
    
    # закрываем торренты если мало места на харде
    schedule = low_diskspace,5,60,close_low_diskspace=100M
    
    # Перемещает загруженный файл в другую папку после окончания закачки
    # Удобно для мультимедийных центров, чтобы не пытаться воспроизвести недокачаный файл
    on_finished = move_complete,"execute=mv,-n,$d.get_base_path=,/home/p2p/PUBLIC/ ;d.set_directory=/home/p2p/PUBLIC/"
    
    #проверяет каталоги 2 и 3 на новые *.torrent файлы и сохраняет закачки в соответствующие папки
    #schedule = watch_directory_2,5,5,"load_start=/home/user/torrent_auto_load_2/*.torrent,
    #d.set_directory=/home/user/download2"
    #schedule = watch_directory_3,5,5,"load_start=/home/user/torrent_auto_load_3/*.torrent,
    #d.set_directory=/home/user/download3"
    
    #номер порта (или нескольких портов) который открывает клиент для обмена данными
    port_range = 40890-40890
    
    #случайный выбор порта для обмена данными. В данном случае он отключён
    port_random = no
    
    #проверять хэш торрента после закачки
    check_hash = yes
    
    #сохранять сессию
    session_save = yes
    
    #принимать зашифрованные входящие соединения, устанавливать незашифрованные исходящие соединения, 
    #если возвращает ошибку, повторять с шифрованием, предпочитать открытый текст после установления
    #зашифрованного соединения
    encryption = allow_incoming,enable_retry,prefer_plaintext 
    
    #использовать udp
    use_udp_trackers = yes
    
    #разрешить обмен пирами(если торренты не отмечены как частные)
    peer_exchange = yes
    
    scgi_port = 127.0.0.1:5000
    
    safe_sync = yes
    #encoding_list = UTF-8
    #encoding_list = cp1251
    encoding_list = UTF-8;CP1251;KOI8-R
    # кол-во памяти запрашиваемого у ядра, малое значение может вызвать
    #простой дисковой подсистемы, большое к сбросу страниц памяти.
    hash_read_ahead = 5
    
    #интервал между попытками хеширования
    hash_interval = 100
    
    #кол-во попыток проверки хеша во время mincore(хер знает что это) статуса, 
    #перед принуждением. Нагруженные системы должны использовать меньшие 
    #значени для получения нормальной скорости проверки хеша.
    hash_max_tries = 5
    
    #СНИЖЕНИЕ НАГРУЗКИ НА СИСТЕМУ
    #Вы все же хотите бороться с ситуацией своим странным способом - уменьшите количество слотов закачки до одного, например.
    max_downloads_global = 2
    #Так же можете попробовать уменьшить значение max_memory_usage, hash_read_ahead и увеличить hash_interval.
    
    #ПЛАНИРОВЩИК
    # Каждый день сработает тригер "throttle_1" в 18:00 и установит скорость
    # скорость закачки в unlimited, а тригер "throttle_2" установит ее в 15kb 
    # в 08:00. Используя это клиент может автоматически регулировать скорость закачки.
    #schedule = throttle_1,18:00:00,24:00:00,download_rate=0
    #schedule = throttle_2,08:00:00,24:00:00,download_rate=15

Последний раз редактировалось emlen, 04-01-2011 в 23:20. Причина: внезапно осенило:)


Отправлено: 22:54, 04-01-2011 | #3


Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Цитата emlen:
мать-GIGABYTE GA-8SR533 »
Боже, какой мусор. SiS чипсет и сата портов вообще нету, да? Я бы с одной стороны, посоветовал купить PCI-SATA2 HBA, но с другой, приличные стоят прилично, а со всякими Silicon Image могут возникнуть свойственные уже им проблемы.
Цитата emlen:
vr0: <VIA VT6105 Rhine III 10/100BaseTX> port 0xe800-0xe8ff mem 0xea012000-0xea0120ff irq 16 at device 12.0 on pci0
rl0: <RealTek 8139 10/100BaseTX> port 0xec00-0xecff mem 0xea013000-0xea0130ff irq 17 at device 13.0 on pci0 »
Жуткий мусор, особенно последнее. Нет возможности сменить на fxp(4) или xl(4)?
Цитата emlen:
Потому шта был винт, надо было его обогреть и применить, а мать старенькая.. »
Я уже понял...
Цитата emlen:
FreeBSD 7.2-RELEASE-p5 i386 »
ОК.
Цитата emlen:
Пожалуйста, можно с этого момента подробнее »
ahci(4). Только это не про ваше железо...

Повторяю, посмотрите systat -vmstat
Подозрения на шторм прерываний у меня только укрепились.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:11, 04-01-2011 | #4


Аватара для emlen

Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата vadblm:
Повторяю, посмотрите systat -vmstat
systat
Код: Выделить весь код
                    /0   /1   /2   /3   /4   /5   /6   /7   /8   /9   /10
     Load Average   ||

                    /0%  /10  /20  /30  /40  /50  /60  /70  /80  /90  /100
root     idle: cpu0 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
p2p        rtorrent X
root     irq17: rl0 X
vmstat
Код: Выделить весь код
 procs      memory      page                    disks     faults         cpu
 r b w     avm    fre   flt  re  pi  po    fr  sr ad0 ad2   in   sy   cs us sy id
 1 3 0   4671M  9436K  1754 580   9   3   940 227   0   0  294 1626 1374 11  7 82
Цитата vadblm:
Подозрения на шторм прерываний у меня только укрепились
И как усмирить этот шторм?

Отправлено: 23:33, 04-01-2011 | #5


Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Покажите вывод именно команды systat -vmstat
Оно примерно так должно выглядеть:
Код: Выделить весь код
    1 users    Load  0.01  0.02  0.00                  Jan  4 22:38

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act  352580  121272  4919896   142304  345864  count
All  426332  125728 1078784k   182620          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow    4005 total
         24  88      4185    2  131    4 1001             zfod        uhci2 ehci
                                                          ozfod       uhci0 uhci
 1.1%Sys   0.0%Intr  0.0%User  0.0%Nice 98.9%Idle        %ozfod       fwohci0+ 1
|    |    |    |    |    |    |    |    |    |    |       daefr       uhci1++ 21
=                                                         prcfr  2001 cpu0: time
                                         4 dtbuf       73 totfr     3 em0 irq256
Namei     Name-cache   Dir-cache    100000 desvn          react       em1 irq258
   Calls    hits   %    hits   %     83118 numvn          pdwak       em1 irq259
                                     25000 frevn          pdpgs       em2 irq260
                                                          intrn       em2 irq261
Disks   ad6                                        505856 wire        em2 irq262
KB/t   0.50                                        351140 act    2001 cpu1: time
tps       0                                       2764384 inact
MB/s   0.00                                           484 cache
%busy     0                                        345380 free

Отправлено: 23:37, 04-01-2011 | #6


Аватара для emlen

Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Отправить PM | Цитировать


Ой, вот я лошара Привожу вывод:
Код: Выделить весь код
    1 users    Load  0.01  0.02  0.02                   4 янв 23:44

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   62048    2784  4067836    10216   34268  count          11
All   75792    3264  6196476    15360          pages         168
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt     41 cow    2157 total
          3  26       789  176  804  154  165  171     67 zfod     14 ata0 irq14
                                                        3 ozfod       ata1 irq15
 1.2%Sys   0.2%Intr  0.0%User  0.0%Nice 98.6%Idle       5%ozfod       vr0 irq16
|    |    |    |    |    |    |    |    |    |    |       daefr   130 rl0 irq17
=                                                      66 prcfr    11 ath0 irq18
                                        23 dtbuf      128 totfr  2002 cpu0: time
Namei     Name-cache   Dir-cache      8157 desvn          react
   Calls    hits   %    hits   %      2666 numvn          pdwak
     409     409 100                  1945 frevn          pdpgs
                                                          intrn
Disks   ad0   ad2                                   35744 wire
KB/t  49.92  0.00                                   22040 act
tps      14     0                                   23020 inact
MB/s   0.69  0.00                                    2700 cache
%busy     3     0                                   31568 free
                                                    21744

Последний раз редактировалось emlen, 04-01-2011 в 23:44. Причина: ччч


Отправлено: 23:42, 04-01-2011 | #7


Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Нагрузки особой не вижу, но 130 прерываний у rl0 даже при таком минимуме намекают.
swapinfo ещё покажите.

Отправлено: 23:56, 04-01-2011 | #8


Аватара для emlen

Новый участник


Сообщения: 38
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата vadblm:
но 130 прерываний у rl0 даже при таком минимуме намекают
Не знаю, стоит ли на этом заострять внимание, но это внешний интерфейс, еще ath0 - внутренняя wifi..
Цитата vadblm:
swapinfo ещё покажите
Код: Выделить весь код
# swapinfo
Device          1K-blocks     Used    Avail Capacity
/dev/label/sw_81   1048308    23244  1025064     2%
Сейчас все глюки и отвалы во время переноса закачек в ответ на
Код: Выделить весь код
on_finished = move_complete,"execute=mv,-n,$d.get_base_path=,/home/p2p/PUBLIC
в .rtorrent.rc.
Особенно во время проверки хэша.... PUBLIC я разместил на том самом SATA ad2, чтобы хоть не все время все висело))

Отправлено: 00:14, 05-01-2011 | #9


Забанен


Сообщения: 6158
Благодарности: 1300

Профиль | Цитировать


Процитирую хендбук:
Цитата:
11.16.3.3. Система останавливается (временно или постоянно)
Большинство систем останавливаются в результате потери прерываний или ''шторма'' прерываний. В чипсетах существует много проблем, связанных с тем, как BIOS настраивает прерывания перед загрузкой, правильностью таблицы APIC (MADT), и маршрутизации System Control Interrupt (SCI).

''Шторм'' прерываний может быть обнаружен по потерянным прерываниям путем проверки вывода строки с acpi0 команды vmstat -i. Если счетчик увеличивается более, чем несколько раз в секунду, это ''шторм'' прерываний. Если система останавливается, попробуйте войти в DDB (CTRL+ALT+ESC на консоли) и ввести show interrupts.

Наиболее надежный способ избавиться от проблемы с прерываниями, это отключение поддержки APIC с помощью параметра loader.conf hint.apic.0.disabled="1".
(Выделение моё)
Можете, конешно, попробовать рекомендацию с отключением APIC, но первым делом я бы заменил rl0 на что-нибудь более вменяемое. А посмотрев на ценники не совсем отстойных PCI-SATA2 HBA, предложил бы поменять мать+проц+память на что-то уровня i945/G31+Celeron/Pentium Dual Core LGA775 младшенький+512Мб/1Гб DDR2 - те же ~$100-150, но хоть точно работать будет без затыков

Да, и памяти крайне мало - даже под минимальной нагрузкой система у вас в свап лезет.

ЗЫ А какой у вас канал?

Последний раз редактировалось vadblm, 05-01-2011 в 00:34.


Отправлено: 00:29, 05-01-2011 | #10



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по FreeBSD » FreeBSD - Rtorrent vs SATA HDD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
FreeBSD - как в rtorrent качать только отдельные файлы с раздачи? Kerberos_2.0 Общий по FreeBSD 1 28-11-2010 14:10
HDD - HDD WD 500 Gb SATA pocex Накопители (SSD, HDD, USB Flash) 9 21-09-2010 00:44
[решено] Rtorrent как настроить(FreeBSD 7.1) Bromox Общий по FreeBSD 3 06-08-2010 20:53
HDD - замена HDD-IDE на HDD-SATA schokai2008 Накопители (SSD, HDD, USB Flash) 28 21-11-2009 20:09
Установка - [решено] Установка Windows XP на SATA HDD, и драйвера от SATA. Oleg_SK Microsoft Windows 2000/XP 4 16-08-2007 05:40




 
Переход