|  |  |  | Эффекты тонкой настройки
О специальной настройке freebsd существенно улучшающей производительность, как всей системы, так и ее отдельных компонентов.
[16.11.2001, Станислав Лапшанский, slapsh@slapsh.pp.ru]
|
|  |
Статья является переводом текста Гилберта Гонга (Gilbert Gong), опубликованного по адресу http://www.daemonnews.org/200108/benchmark.html.
От переводчика
Большинство пользователей компьютеров даже не подозревают какая мощь заложена в их аппаратные средства так как они используют программное обеспечение в конфигурации "по умолчанию". К сожалению, ожидать максимальных показателей производительности от "умолчальных" конфигураций не приходится &150; ведь они обязаны работать на подавляющем большинстве компьютеров, а следовательно подразумевают некий средний компьютер, ради которого производительность приносится в жертву совместимости. Однако существуют люди, которых не удовлетворяет такая ситуация в мире Windows именно такие люди "роются" в дебрях системного реестра и пишут разного рода твикеры. К счастью, в мире бесплатных UNIX-подобных операционных систем все обстоит гораздо проще надо лишь немного почитать документацию (см. man tuning в FreeBSD) и все "секреты" операционной системы будут у вас как на ладони фраза "читайте доки, они рулез" набирает все большую популярность среди опытных пользователей. Предлагаемая вниманию читателей статья является очень хорошей иллюстрацией того, к чему может привести даже незначительная оптимизация работы FreeBSD-системы чисто программными средствами. Несмотря на, казалось бы, элементарные действия по настройке, автору удалось добиться впечатляющих результатов не только в плане повышения производительности, но и стабильности работы операционной системы в целом. Надеюсь, читатели заинтересуются темой оптимизации использования доступных вычислительных ресурсов.
Введение
Обычная инсталляция FreeBSD устанавливает пользователю систему, которая создана для удовлетворения потребностей большинства людей и является попыткой компромисса между безопасностью, надежностью и производительностью в многопользовательском окружении. Таким образом совершенно очевидно, что подобная конфигурация системы не оптимизирована для использования в качестве высокопроизводительного сетевого сервера. В этой статье я рассмотрю получаемый эффект от тонкой настройки системы для работы в качестве выделенного сетевого сервера.
Описание системы и методика тестирования
Для тестирования использовалась следующая конфигурация аппаратных средств: процессор Pentium III 600 MHz, 512 MB оперативной памяти, материнская плата Super Micro P6SBU. К встроенному Adaptec Ultra2 SCSI-контроллеру был подключен винчестер IBM DNES-309170W SA30 (объем 8GB). В качестве сетевого интерфейса использовалась плата фирмы 3COM 3c905B-TX. В процессе тестирования использовалась стандартная файловая система UFS. Когда это было необходимо в качестве сетевого клиента использовался компьютер с процессором Celeron 400 MHz имеющий 128 MB оперативной памяти. Сервер был оснащен операционной системой FreeBSD-4.3-RELEASE. На клиенте были установлены несколько различных версий FreeBSD (это было сделано в связи с тем, что меры направленные на повышение безопасности в 4.3-RELEASE непреднамеренно уменьшают скорость взаимодействия двух серверов между собой. В стандартной установке нет способа исправления этой ситуации, хотя "заплатка" для устранения такого поведения была выпущена). Я запускал на сервере три различных бенчмарка по очереди в обоих конфигурациях (стандартная и подвергшаяся настройке). Результаты тестов не следует воспринимать как безусловное мерило производительности они предназначены лишь для иллюстрации различий производительности стандартной и "подстроенной" конфигурации. Были использованы следующие тесты http_load, для оценки производительности http-сервера (Apache), postmark, для оценки общей производительности системы и postal, для оценки производительности почтового сервера (на базе postfix).
Настройка
Техника оптимизации в основном взята со страниц встроенной документации (man tuning).
1. Перекомпиляция ядра.
Пожалуй, это первый шаг с которого следует начать при оптимизации FreeBSD. Для этого из файла конфигурации ядра следует удалить все компоненты которые не являются важными для вашей системы и увеличить значения параметров maxusers и NMBCLUSTERS. Я использовал такой файл: # Основано на GENERIC-ядре
machine i386
cpu I686_CPU # Оптимизация для процессоров Pentium Pro и выше
ident TUNED # Название сборки ядра
maxusers 512
options NMBCLUSTERS=65536
# maxusers и NMBCLUSTERS самые важные настройки в оптимизированной конфигурации
options INET # Поддержка TCP/IP
options FFS # Berkeley Fast Filesystem (файловая система FreeBSD)
options FFS_ROOT # FFS может являться корневой файловой системой
options SOFTUPDATES # Разрешить мягкие обновления для файловых систем
options MFS # Файловая система в оперативной памяти
options PROCFS # Файловая система процессов
options COMPAT_43 # Совместимость с BSD4.3
options SCSI_DELAY=5000 # Задержка перед пробой SCSI-устройств
options UCONSOLE # Позволяет пользователям захватить консоль
options USERCONFIG
options VISUAL_USERCONFIG
options KTRACE
options SYSVSHM
options SYSVMSG
options SYSVSEM
options P1003_1B
options _KPOSIX_PRIORITY_SCHEDULING
#options ICMP_BANDLIM # Включает лимитирование ICMP-трафика
options KBD_INSTALL_CDEV
# Обратите внимание параметр ICMP_BANDLIM закомментирован, так как ограничение
# ICMP трафика может сказаться на других видах трафика (на мой взгляд это излишняя
# перестраховка, прим. переводчика)
# Удалены ненужные файловые системы ISO9660 (CDROM), NFS (сетевая файловая система)
device isa
device pci
# Поддержка дисководов
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
device fd1 at fdc0 drive 1
device ahc # Adaptec SCSI-контроллерAHA2940 и AIC7xxx
device scbus # SCSI-шина
device da # Прямой доступ (для дисков)
# Удалены многочисленные ненужные SCSI/IDE/RAID драйверы
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12
device vga0 at isa?
pseudo-device splash # необходимо для screensaver
device sc0 at isa? flags 0x100 # системная консоль
device npx0 at nexus? port IO_NPX irq 13 # сопроцессор
# COM-порты
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9
device ppbus # Шина параллельного порта
device miibus # Поддержка шины MII (необходима для сетевой карты)
device xl # Драйвер сетевой карты 3COM 3c90x
pseudo-device loop # Интерфейс loopback (необходим)
pseudo-device ether # Поддержка Ethernet
#pseudo-device sl 1 # Kernel SLIP
#pseudo-device ppp 1 # Kernel PPP
#pseudo-device tun # Пакетный туннель
pseudo-device pty # Псевдо-ttys (telnet etc)
# Заметьте PPP и SLIP, а также туннель закомментированы.
# Не добавляйте эти интерфейсы в ядро, если они вам не нужны
|
|
|
|
|  |
 |
 |
|
Рубрики сайта
Тематические pубрики
Программы
|
|
 |
|  |  |  |
- Explorer, Netscape, Opera или что-то еще?
Какой браузер лучше и какой выбрать? [Сообщений: 1021]
- Windows, Linux и все-все-все...
У вас не встает, падает или глючит ОС? Отказываются работать программы? Тогда заходите сюда - наверняка найдутся люди, могущие вам помочь. [Сообщений: 4298]
- Как заработать на бесплатном софте?
Стоит ли вообще нынче писать программы "на дому", клепать freeware и shareware? Есть ли шансы заработать на этом денег? Видел ли хоть кто-то вживую разбогатевшего таким образом человека? [Сообщений: 202]
- Обсудим "СофтТерру"
Обсуждение материалов "СофтТерры". Критикуйте, советуйте и хвалите... [Сообщений: 1399]
- Антиспам
Обсуждение возможностей борьбы с "замусориванием" наших почтовых ящиков. [Сообщений: 99]
- Программирование
Все вопросы, связанные с разработкой всевозможного софта. [Сообщений: 312]
|
|  |
|