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

9 января 2016 года

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

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

Источники править


 
 
Creative Commons
Эта статья содержит материалы из статьи «В состав FreeBSD принята высокопроизводительная реализация sendfile от Netflix», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.