OSChoose
Содержание
Большое число нитей
В 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 будет неплохо обслуживать сервер БД или файл-сервер. противоречит первой части статьи
Ссылки
- The C10K problem
- Обсуждение Linux vs Solaris
- MySQL performance optimization on FreeBSD
- Сравнение реализации тредов в FreeBSD 4.x/5.x
- Обсуждение производительности библиотек нитей для FreeBSD
- FreeBSD 5.3 + MySQL на сервере с несколькими CPU
- Тест производителности тредовых библиотек для FreeBSD
- Тестирование Apache, PHP, MySQL под FreeBSD, Linux и Solaris (4xOpteron DC)
PS. По первым двум пунктам желателен современный источник, набор ссылок в конце охватывает практически только FreeBSD.