Комментарии

Галерея

Опрос

Из каких стран идет больше всего спама, попыток взлома на ваши серверы?:

Домашний сервер на базе Intel Atom (Прикладное ПО)

Аватар пользователя isn
     

Прежде кратко скажу о задачах, которые должен выполнять сервер.

Итак, на первом месте файлообмен. Личные предпочтения тут не отличаются разнообразием. В основном это музыка несколько специфических жанров: восточная классика и другая этническая. Всё это в lossless качестве. Особенность жанра такова, что подавляющее большинство записей приобрести легальными способами либо вообще невозможно (маленький тираж дисков давно распродан), либо практически невыполнимо (например, записи некоторых исполнителей у нас в стране не продаются, в on-line магазинах тоже их нет). Остаётся два варианта: торренты и e2k. Требования к программам для торрентов и e2k – возможность работать без графического интерфейса и иметь клиент для удалённого управления.

Для торрентов выбор пал на Transmission. Эта программа сочетает в себе широкий набор функций и отличается разнообразием клиентов для управления по сети. На сервере работает transmission-daemon. В качестве клиента для управления transmisson-remote-gui. Очень удобная связка! Практически нет ограничений на использования различных ОС – remote-gui прекрасно работает как на linux, так и в windows и macOS. Transmisson-remote-gui назначен обработчиком файлов *.torrent в браузере. Кроме этого, большим удобством является возможность задать расположение скачиваемого файла на сервере. Таким образом загрузка происходит не в какой-то один каталог, а в любой по желанию.

Для e2k установил aMule. Здесь также пришлось пересобрать пакет: разделил демон и GUI-клиент, написал скрипт для запуска. С последней стабильной версией 2.2.6 обнаружилась сложность – демон amuled динамически линковался с библиотеками wxGTK, что приводило к зависимости от XWindow. В релиз-кандидате следующей версии 2.3.1 этот недостаток устранён.

Из других сервисов на сервере крутятся apache, mysql, ftp, nfs. Кроме собственно загрузки файлов сервер предоставляет к ним доступ по nfs для медиаплейера WD TV Live. Использование отдельного медиаплейера мне кажется более разумным решением, чем если бы в качестве воспроизводящего устройства использовался сам сервер. Этому есть несколько причин. Во-первых вопрос размещения. Сервер можно разместить в любом удобном месте, где он никому не мешает. Тогда как при расположении вблизи от телевизора возникла бы вторая проблема – шум. Третья проблема – производительность. Всё же отдельное узкоспециализированное устройство справляется с проигрыванием тяжёлого HD-видео лучше, чем Atom. С другой стороны всё попытки решить проблемы совмещения в одном устройстве неизбежно привели бы к значительному росту цены решения, превысив стоимость сервера и медиаплейра вместе взятых. Нужно помнить, что воспроизведение медиа требуется несколько часов в сутки, а сервер работает непрерывно.

Главный вопрос: хватает ли производительности Atom для выше перечисленных задач? На мой взгляд, вполне! Если не пытаться превратить машинку в универсальный мультимедиа-комбайн с транскодированием и воспроизведением видео, то загрузка процессора не превысит 25%. За исключением передачи файлов по NFS или SMB со скоростями близкими к гигабитной. В этом случае загрузка может расти до 70%. Например, если нужно скопировать большой объём информации на рабочий компьютер. Однако такой вариант встречается не часто.

В завершении рассказа приведу некоторые тесты производительности.

Скорость жесткого диска (WDC WD6400BPVT):

# hdparm -t /dev/sda 
 
/dev/sda:
 
 Timing buffered disk reads:  234 MB in  3.01 seconds =  77.64 MB/sec

Скорость сети с помощью утилиты iperf:
Реальная пропускная способность сетевого интерфейса.

% iperf -c 192.168.1.225
 
------------------------------------------------------------
 
Client connecting to 192.168.1.225, TCP port 5001
 
TCP window size: 64.0 KByte (default)
 
------------------------------------------------------------
 
[  3] local 192.168.1.10 port 38750 connected with 192.168.1.225 port 5001
 
[ ID] Interval       Transfer     Bandwidth
 
[  3]  0.0-10.0 sec  1.10 GBytes   942 Mbits/sec

Скорость сети в loopback:
Можно оценить какую максимальную скорость может обеспечить платформа (процессор, чипсет, память).

% iperf -c 127.0.0.1   
 
------------------------------------------------------------
 
Client connecting to 127.0.0.1, TCP port 5001
 
TCP window size: 64.0 KByte (default)
 
------------------------------------------------------------
 
[  3] local 127.0.0.1 port 60136 connected with 127.0.0.1 port 5001
 
[ ID] Interval       Transfer     Bandwidth
 
[  3]  0.0-10.0 sec  3.50 GBytes  3.00 Gbits/sec

Дело пишет автор, вот такие целевые статьи интересно почитать.