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

Материал из OpenWiki
Перейти к: навигация, поиск
м (Большое число процессов: ?)
м (Многопроцессорные системы: у-уу как всё устарело)
Строка 13: Строка 13:
  
 
==== Многопроцессорные системы ====
 
==== Многопроцессорные системы ====
Лучшая реализация в Solaris. Linux неплохо работает в SMP системах с числом процессоров не больше 4. Во FreeBSD поддержка SMP хуже(Это не относится к последним версиям 7.2 и выше).
+
Лучшая реализация в Solaris. Linux прекрасно работает в SMP системах с числом процессоров как 4--8, так и до 1024. Во FreeBSD < 5.x поддержка SMP хуже (Это не относится к последним версиям 7.2 и выше).
  
 
==== Итог ====
 
==== Итог ====

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

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

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

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

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

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

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

Мультиплексирование 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.