OSChoose — различия между версиями

Материал из OpenWiki
Перейти к: навигация, поиск
м (Многопроцессорные системы: у-уу как всё устарело)
м (откат неаргументированной правки 06:41, 4 декабря 2009 (217.79.226.242))
Строка 7: Строка 7:
  
 
==== Большое число процессов ====
 
==== Большое число процессов ====
FreeBSD лидирует, Linux тоже нормально (если до своппинга дело не доходит). ''(это какие годы/версии?)''
+
Linux лидирует, FreeBSD тоже нормально (если до своппинга дело не доходит). ''(это какие годы/версии?)''
  
 
==== Мультиплексирование I/O ====
 
==== Мультиплексирование I/O ====

Версия 21:08, 13 февраля 2011

Большое число нитей

В Solaris лучшая реализация нитей, без проблем выдерживающая работу под большиеми нагрузками.

В Linux ядре 2.6 поддержка нитей NPTL заметно хуже. Если созданное один раз большое фиксированное число тредов еще как-то работает (хотя на разных 2.6 ядрах наблюдались проблемы связанные со стабильностью), то производительность динамически создаваемых тредов (постоянно создаются новые и убиваются старые) оставляет желать лучшего.

Во FreeBSD ситуация еще хуже. Для MySQL во FreeBSD 6 оптимальным является использование реализации 1:1 тредов - libthr. Использование m:n библиотеки libpthread показывает более низкие результаты. В более ранних версиях FreeBSD MySQL рекомендуется собирать с linuxthread. (В настоящее время родная реализация нитей работает лучше чем в Linux )

Большое число процессов

Linux лидирует, FreeBSD тоже нормально (если до своппинга дело не доходит). (это какие годы/версии?)

Мультиплексирование I/O

Лучшее решение - kevent/kqueue в FreeBSD, потом epoll в Linux. В Solaris 10 - event ports.

Многопроцессорные системы

Лучшая реализация в Solaris. Linux прекрасно работает в SMP системах с числом процессоров как 4--8, так и до 1024. Во FreeBSD < 5.x поддержка SMP хуже (Это не относится к последним версиям 7.2 и выше).

Итог

Linux - 9, FreeBSD - 6, Solaris - 8. Данное сравнение далеко не исчерпывающее. Таким образом, Solaris подходит для приложений, в которых критична высокая параллельность вычислений (или одновременное обслуживание большого числа клиентов), Linux - для использования на серверах небольшой мощности, нагрузка на которые стабильна и почти не меняется с течением времени. FreeBSD будет неплохо обслуживать сервер БД или файл-сервер. противоречит первой части статьи

Ссылки


PS. По первым двум пунктам желателен современный источник, набор ссылок в конце охватывает практически только FreeBSD.