Страница 1 из 1

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-10 17:12:17
ev
Компания Netflix, в сети доставки контента которой активно используются серверы с FreeBSD, совместно с компанией NGINX подготовила новую реализацию системного вызова sendfile, предназначенного для организации прямой передачи данных между файловым дескриптором и сокетом. Новая реализация отличается значительным увеличением производительности - файл теперь можно направлять в сокет в асинхронном режиме без ожидания завершения передачи данных, копирование производится в фоне с мгновенным возвращением управления.

Разработка работающего в неблокирующем режиме sendfile велась с 2013 года и вчера была принята в основной состав FreeBSD-CURRENT. Код уже протестирован в рабочем кластере Netflix и годен для промышленного применения. Реализация полностью обратно совместима с ранее доступными приложениями и может использоваться в качестве прозрачной замены, не требуя пересборки. Кроме увеличения производительности в новой реализации также добавлены новые флаги, предоставляющие дополнительный контроль над отправкой данных. Например, флаг SF_NOCACHE запрещает кэширование передаваемых данных, а при помощи макроса SF_READAHEAD() можно установить размер буфера упреждающего чтения.

http://www.opennet.ru/opennews/art.shtml?num=43646
в новости указана ссылка на старую презентацию
в фейсбуке поправили
Глеб Смирнов писал(а): 2x40 было временным решением, теперь цена на 100 снизились и это целевая платформа. 80 Гбит/с было сделано на экспериментальной машине, сетевая 100, диски nvme. В production таких машин пока нет. Но в production конечно цифры значительно побольше, чем год назад.
Отправлено спустя 6 минут 49 секунд:
страсти продолжаются
Максим Костиков писал(а): На opennet у линуксоидов пуканы полыхают. Там ещё и разрабочик NGINX появился, который показал что в Линукс такие задачи никогда решены не были и, соответственно, в стриминге FreeBSD сильно его делает.
Отправлено спустя 3 минуты 12 секунд:
раз уж пошел флудить, решил найти еще оригинал
Valentin V. Bartenev писал(а): Привет эксперту с Opennet от разработчика nginx. Вызов sendfile() на FreeBSD точно также, как и в Linux, с рождения не блокировался на отправке данных в сокет с флагом O_NONBLOCK.

Но на обоих системах благополучно блокировался на чтении с диска. Только, в отличии от Linux, на FreeBSD есть ещё флаг SF_NODISKIO, который позволяет в случае отсутствия данных в памяти возвращать управление и далее вычитывать файл другим способом, например с помощью aio_read() или в треде. В Linux подчеркну до сих пор этого нет.

Что было сделано в новой реализации, так это то, что теперь sendfile() в FreeBSD не блокируется не только на сокете, но и на диске, при этом полностью асинхронно читая и отправляя данные даже в том случае, когда те отсутсвуют в кэше страниц.

О том, что в Linux с асинхронным чтением все очень плохо (и плохо по сей день), я более-менее подробно расписал в статье: https://www.nginx.com/blog/thread-pools ... rmance-9x/

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-13 8:54:15
Alex Keda
Прикольно ;)

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-16 15:03:16
icb
Еще бы десктоп нормальный сделали :)

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-17 16:56:53
ev
icb писал(а): Еще бы десктоп нормальный сделали :)
уже есть - xfce ставится даже из пакетов нормально (правда тянет достаточно мусора за собой)

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-17 18:02:33
Alex Keda
я х.з. про ваши xfce, но у меня на рабочем десктопе, на ноуте, на дочкином десктопе, на моём нетбуке, на дачном десктопе и на халтурном - на всех стоит kde4 из пакетов.

и ни на одном ни одного пакета собранного руками.

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-17 19:47:58
ev
Alex Keda писал(а): на всех стоит kde4 из пакетов
622 пакета и 3 разных версии питона... и это еще без xorg с его 109 пакетами ;)
надо бы xfce как-нить посчитать

Отправлено спустя 3 минуты 6 секунд:
ппц, поставил kde попробовать - так он поставил с собой mysql56-server :) вот жесть то

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-17 20:15:53
Alex Keda
у меня суммарно около 1000 на любом.
кроме кед, ещё много чего для жизни то надо - от лисы и птицы, до офиса и гимпа ...

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-17 22:02:48
ev
Alex Keda писал(а): кроме кед, ещё много чего для жизни то надо - от лисы и птицы, до офиса и гимпа ...
но mysql server для kde?! :)

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-21 8:27:19
Alex Keda
И что? Кэши всякие хранить, чё бы нет?

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-21 18:30:35
ev
для подобных вещей давно используют sqlite

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-01-22 18:21:52
Alex Keda
Я х.з. почему так....
Наверное, потому что Муся стабильной в плане АПИ - sqlite между версиями несовместим бывает....

В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix

Добавлено: 2016-02-16 13:47:56
dekloper
Alex Keda писал(а): И что? Кэши всякие хранить, чё бы нет?
да оракле надо сразу задепендить, че мелочиться то.. удобно, стильно)

зы. блин, начали с замечательной новости, а закончили вендой, тьфу, кедами))