The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Релиз HTTP-сервера nginx 1.12.0 "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от opennews (??) on 12-Апр-17, 19:43 
После года разработки представлена (http://nginx.org/?1.12) новая стабильная ветка высокопроизводительного HTTP-сервера nginx 1.12.0 (http://nginx.org/), которая вобрала в себя изменения, накопленные в рамках основной ветки 1.11.x. В дальнейшем все изменения в  стабильной ветке 1.12 будут связаны с устранением серьёзных ошибок и уязвимостей. В скором времени будет сформирована основная ветка nginx 1.13, в рамках которой будет продолжено развитие новых возможностей. Для обычных пользователей, у которых нет задачи обеспечить совместимость со сторонними модулями, рекомендуется (http://nginx.com/blog/nginx-1-6-1-7-released) использовать основную ветку, на базе которой раз в три месяца формируются выпуски коммерческого продукта Nginx Plus.


По данным (https://w3techs.com/blog/entry/nginx_reaches_33_3_percent_we...) W3Techs 33.3% из миллиона самых посещаемых сайтов в мире используют nginx, в апреле прошлого года этот показатель составлял 29.8%, позапрошлого - 23.8%. Доля Apache впервые опустилась ниже 50%, а доля Microsoft IIS составила 11.3%. Если рассматривать только 10 тысяч наиболее крупных сайтов, то доля nginx составляет 39.7%, а Apache - 42.8%. В России nginx используется (http://w3techs.com/technologies/breakdown/ws-nginx/top_level...) на 76.9% самых посещаемых сайтов (год назад -  75.2%).

В соответствии с мартовским отчетом (https://news.netcraft.com/archives/2017/03/24/march-2017-web...) компании Netcraft nginx используется на 19.55% (год назад 16.81%, два года назад 14.24%) всех активных сайтов, что соответствует третьему месту по популярности в данной категории (доля Apache соответствует 41.06%, а Microsoft IIS - 24.46% (доля IIS выросла за счёт парковки неиспользуемых доменов)). Доля nginx среди всех сайтов составляет 19.91% (год назад 13.23%, два года назад 14.87%), среди миллиона самых посещаемых сайтов в мире - 25.64% (год назад 25.64%, два года назад 21.43%). В настоящее время под управлением nginx работает около 350 млн сайтов (год назад 143 млн).


Из улучшений (http://nginx.org/ru/CHANGES.ru-1.12), добавленных в процессе формирования основной ветки 1.11.x, можно отметить:

-  Обеспечена возможность указания нескольких SSL-сертификатов разных типов. Для загрузки сертификатов разных типов (RSA, ECDSA) директивы  "ssl_certificate" и "ssl_certificate_key"  можно указывать несколько раз;
-  Добавлена возможность ограничения максимального числа соединений для директивы server в блоке upstream, через указание параметра max_conns;
- Добавлена новая директива absolute_redirect (http://nginx.org/ru/docs/http/ngx_http_core_module.html#abso...), которая отвечает за абсолютное или относительное перенаправление в nginx;

- Добавлена директива "worker_shutdown_timeout (http://nginx.org/en/docs/ngx_core_module.html#worker_shutdow...)", позволяющая задать время ожидания корректного завершения работы рабочих процессов. Если за указанное время рабочие процессы не успеют довести до конца обработку имеющихся запросов, то связанные с ними соединения будут закрыты принудительно;


-  
Новые модули
:


- ngx_stream_map_module (http://nginx.org/ru/docs/stream/ngx_stream_map_module.html), позволяющий создавать переменные, значения которых зависят от значений других переменных;

- ngx_stream_return_module (http://nginx.org/ru/docs/stream/ngx_stream_return_module.html), который даёт возможность отправить заданное значение клиенту и после этого закрыть соединение;
- ngx_stream_geo_module (https://nginx.org/ru/docs/stream/ngx_stream_geo_module.html), позволяющий создавать переменные, значения которых зависят от IP-адреса клиента;

-  ngx_stream_geoip_module (https://nginx.org/ru/docs/stream/ngx_stream_geoip_module.html), позволяющий создавать переменные, значения которых зависят от IP-адреса клиента, используя готовые базы MaxMind (http://www.maxmind.com/) для привязки диапазонов адресов к регионам;

-  ngx_stream_split_clients_module (https://nginx.org/ru/docs/stream/ngx_stream_split_clients_mo...), позволяющий создавать переменные для A/B тестирования (также известного как "split-тестирование");

-   ngx_stream_log_module (http://nginx.org/ru/docs/stream/ngx_stream_log_module.html), позволяющий записывать логи сессий в указанном формате;


-  ngx_stream_realip_module (http://nginx.org/ru/docs/stream/ngx_stream_realip_module.html), позволяющий менять адрес и порт клиента на переданные в заголовке протокола PROXY;
-  ngx_stream_ssl_preread_module (https://nginx.org/ru/docs/stream/ngx_stream_ssl_preread_modu...), позволяющий извлекать информацию из сообщения ClientHello без терминирования SSL/TLS, например можно получить имя сервера, запрошенное через SNI;


-  
Новые переменные
:


-   $request_id (http://nginx.org/en/docs/http/ngx_http_core_module.html#var_...), в которой содержится уникальный идентификатор запроса;

-  $proxy_protocol_port (http://nginx.org/en/docs/http/ngx_http_core_module.html#var_...), содержащая номер клиентского сетевого порта, указанного в заголовке  протокола PROXY;
-  $upstream_bytes_received (https://nginx.org/en/docs/stream/ngx_stream_upstream_module....), позволяющая получить число байт, полученных от сервера группы. Значения нескольких соединений разделяются запятыми и двоеточиями подобно адресам в переменной $upstream_addr;
-  Формат переменных '$ssl_client_s_dn' и '$ssl_client_i_dn' приведён в соответствие с RFC 2253 (RFC 4514). Значения в старом формате доступны через переменные '$ssl_client_s_dn_legacy' и '$ssl_client_i_dn_legacy';


-  
Изменения в модулях
:

-  В модуле ngx_http_image_filter_module добавлена поддержка формата WebP;

- В модуле stream (http://nginx.org/en/docs/stream/ngx_stream_core_module.html) добавлена возможность использования переменных и добавлена проверка клиентских SSL-сертификатов. Если сервер, описанный в блоке upstream, был признан неработающим, то после истечения fail_timeout он признавался работающим только после завершения тестового соединения, теперь достаточно чтобы соединение было успешно установлено;

-  В модуле ngx_http_v2_module появилась директива "http2_max_requests", определяющая максимальное число запросов, которые можно сделать по одному соединению при использовании протокола HTTP/2;


-  В модуле ngx_http_realip_module добавлена переменная $realip_remote_port (http://nginx.org/en/docs/http/ngx_http_realip_module.html#va...), содержащая номер сетевого порта клиента, с которого было инициировано соединение;

- В модулях stream (http://nginx.org/ru/docs/stream/ngx_stream_core_module.html) и ngx_stream_upstream_module (http://nginx.org/ru/docs/stream/ngx_stream_upstream_module.html) добавлены новые переменные:


-  $bytes_received - число байт, полученных от клиента;

-  $session_time - длительность сессии в секундах с точностью до миллисекунд;

-  $protocol - протокол, используемый для работы с клиентом: TCP или UDP;

-  $status - статус сессии;

-  $upstream_addr - хранит IP-адрес и порт или путь к UNIX-сокету сервера группы. Если при проксировании были сделаны обращения к нескольким серверам, то их адреса разделяются запятой, например "192.168.1.1:12345, 192.168.1.2:12345, unix:/tmp/sock";

-  $upstream_bytes_sent - число байт, переданных на сервер группы. Значения нескольких соединений разделяются запятыми подобно адресам в переменной $upstream_addr;

-  $upstream_bytes_received - число байт, полученных от сервера группы. Значения нескольких соединений разделяются запятыми подобно адресам в переменной $upstream_addr;

-  $upstream_connect_time - время установки соединения с сервером группы, время хранится в секундах с точностью до миллисекунд. Времена нескольких соединений разделяются запятыми подобно адресам в переменной $upstream_addr;

-  $upstream_first_byte_time - время получения первого байта данных, время хранится в секундах с точностью д...

URL: http://mailman.nginx.org/pipermail/nginx-ru-announce/2017/00...
Новость: http://www.opennet.dev/opennews/art.shtml?num=46367

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


2. "Релиз HTTP-сервера nginx 1.12.0 "  +7 +/
Сообщение от Аноним84701 (ok) on 12-Апр-17, 19:45 
Фух, наконец-то новость о nginx.
А то аж целую неделю ничего не было слышно, я уже волноваться начал!  *rolleyes*
1    [05.04.2017] Выпуск nginx 1.11.13    
2    [25.03.2017] Выпуск nginx 1.11.12    
3    [22.03.2017] Выпуск nginx 1.11.11    
4    [15.02.2017] Выпуск nginx 1.11.10    
5    [01.02.2017] Обновление nginx 1.10.3    
6    [24.01.2017] Выпуск nginx 1.11.9    
7    [28.12.2016] Выпуск nginx 1.11.8    
8    [14.12.2016] Выпуск nginx 1.11.7
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Релиз HTTP-сервера nginx 1.12.0 "  +3 +/
Сообщение от Аноним Анонимович Анонимов on 12-Апр-17, 20:11 
Ну что же вы за люди-то? У них двухнедельный цикл по выпуску mainline-версии. Каждый считает своим долгом их упрекнуть в этом оставив тут свой комментарий?!
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

3. "Релиз HTTP-сервера nginx 1.12.0 "  +4 +/
Сообщение от th3m3 (ok) on 12-Апр-17, 19:53 
Ничего себе изменений в этот раз.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Релиз HTTP-сервера nginx 1.12.0 "  –3 +/
Сообщение от Аноним (??) on 12-Апр-17, 20:09 
> Временные файлы в каталоге кэша теперь располагаются не в отдельном подкаталоге, а в том же подкаталоге, что и остальные файлы;

Сомнительная доработка. Я бы точно такое не стал бы делать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Релиз HTTP-сервера nginx 1.12.0 "  +4 +/
Сообщение от Аноним (??) on 12-Апр-17, 20:31 
Напишешь свой сервер и не будешь так делать.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от angra (ok) on 12-Апр-17, 20:36 
А аргументировать сможешь или просто "патамушо"?
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Релиз HTTP-сервера nginx 1.12.0 "  –7 +/
Сообщение от omg on 12-Апр-17, 20:49 
Во-первых, это опция. Во-вторых, она бывает полезна, когда временные файлы расположены на отдельной от остального кэша файловой системе. Почему - предстоит выяснить вам. Но только после того, как сделаете уроки!  Я проверю!
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

12. "Релиз HTTP-сервера nginx 1.12.0 "  +3 +/
Сообщение от Аноним (??) on 12-Апр-17, 22:28 
Если вчитаться в текст "Временные файлы в каталоге кэша теперь располагаются не в отдельном подкаталоге, а в том же подкаталоге, что и остальные файлы", то не ясно остюда что это опция. Поэтому ваше "во-первых" - пшик.
И во-вторых, ваше "во-вторых" снова пшик, т.к. именно когда нужно (а оно бывает нужно) например кэш вынести в отдельную ФС или носитель, то как раз нужно располагать отдельно от временных.
Ну и в третьих, вам бы ума или фантазии, а то читать чушь про уроки несколько поднадоело.

ps: только не распускайте свои сопли и не устраивайте здесь флуд

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

31. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Аноняша on 15-Апр-17, 16:18 
Дело в том, что nginx перед тем, как переместить файл в директорию с кэшом, вначале пишет во временный файл в директории для временных файлов. Объяснять, почему хорошо бы иметь обе директории на одной фс надеюсь не надо?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

10. "Релиз HTTP-сервера nginx 1.12.0 "  –3 +/
Сообщение от Аноним (??) on 12-Апр-17, 20:50 
Увеличение коллизии, праздник какой то!!!!
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от jOKer (ok) on 12-Апр-17, 20:10 
>Добавлена возможность ограничения максимального числа соединений для директивы server в блоке upstream, через указание параметра max_conns;

Красавцы!!!!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Аноним (??) on 12-Апр-17, 22:21 
Уже поставил. Старый конфиг подошел
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от lone_wolf (ok) on 12-Апр-17, 22:33 
Я так понимаю рекомендуется использовать основную ветку так как им нужны тестеры на баги?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Релиз HTTP-сервера nginx 1.12.0 "  –1 +/
Сообщение от Snaut (ok) on 13-Апр-17, 09:04 
как эту статистику считают. у нас на входе стоит балансер F5, который распределяет нагрузку и кеширование на несколько nginx. nginx никогда бы с таким количеством SSL соединений не справился бы
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Anoim on 13-Апр-17, 09:10 
Ну, так и считают )
Результаты статистика никогда нельзя признавать достоверными на 100%
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от XoRe (ok) on 13-Апр-17, 11:30 
> nginx никогда бы с таким количеством SSL соединений не справился бы

С каким количеством, если не секрет?

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Snaut (ok) on 13-Апр-17, 12:33 
>> nginx никогда бы с таким количеством SSL соединений не справился бы
> С каким количеством, если не секрет?

для начала хотя бы с 1000 новыми SSL соединениями в секунду. SSL Offload

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

21. "Релиз HTTP-сервера nginx 1.12.0 "  +1 +/
Сообщение от eRIC (ok) on 13-Апр-17, 14:43 
> для начала хотя бы с 1000 новыми SSL соединениями в секунду. SSL
> Offload

ведь это не проблема nginx, а все упирается в нижележащих мощностей на чем оно работает (ресурсы железа). SSL Offload иногда зачастую передают на плечи HAProxy для большой производительности.


Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

26. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Snaut (ok) on 14-Апр-17, 08:38 
>> для начала хотя бы с 1000 новыми SSL соединениями в секунду. SSL
>> Offload
> ведь это не проблема nginx, а все упирается в нижележащих мощностей на
> чем оно работает (ресурсы железа). SSL Offload иногда зачастую передают на
> плечи HAProxy для большой производительности.

Так я к тому и веду, что статистика - чуть менее, чем полностью не правильная. nginx в первую очередь обеспечивает проход трафика, может быть его частичную модификацию. Все остальное на себя берут все остальные системы.

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

24. "Релиз HTTP-сервера nginx 1.12.0 "  +2 +/
Сообщение от Аноним (??) on 13-Апр-17, 19:42 
Даже на дохлом ноутбуке справится. Не распространяйте ЛПП, пожалуйста.

Протестил. На моем core i7 4700hq 1700 хендшейков в секунду.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

27. "Релиз HTTP-сервера nginx 1.12.0 "  –2 +/
Сообщение от Snaut (ok) on 14-Апр-17, 09:32 
> Даже на дохлом ноутбуке справится. Не распространяйте ЛПП, пожалуйста.
> Протестил. На моем core i7 4700hq 1700 хендшейков в секунду.

так надо не только установить соединение, но еще и обслужить желательно ;)

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

28. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Аноним (??) on 14-Апр-17, 13:01 
Это не зависит от конкретного веб-сервера и выносится за скобки. Факты говорят о том, что производительность nginx значительно выше, чем вы утверждаете. На типичном сервере с 16 физ. ядрами при обработке 1000 хендшейков в секунду примерно 80% процессорного времени будет свободно для других задач.

P.S. Естественно, тест проводился с полноценной обработкой запроса, а не с голыми хендшейками.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

29. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Serg (??) on 14-Апр-17, 17:49 
Да, что-то наговариваете на nginx по поводу того, что он не сможет обслуживать указанное количество
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

30. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от XoRe (ok) on 14-Апр-17, 21:06 
> для начала хотя бы с 1000 новыми SSL соединениями в секунду. SSL
> Offload

Дернул ab на одном из балансирующих серверов. Где-то 1160 per server. Хотя признаю, ожидал большего.
Проблема у жизни с внешним балансером в том, что привыкаешь к тем теплым ламповым условиям, которые он дает. А когда его опускаешь и пускаешь трафик прямо в nginx, случается "ой, втупляет, надо тюнить".

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

25. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Аноним (??) on 13-Апр-17, 20:56 
Посмотрите доклад Дмитрия Смирнова когда он еще работал в TNS, там он рассказывает как они считают статистику, довольно занятное чтиво да и человек он приятный когда трезвый.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

32. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от Anonim (??) on 18-Апр-17, 16:11 
Прекрасно справляется и с 10К. Зависит только от железа. С openssl 1.0.2 очень хорошо перформит.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Релиз HTTP-сервера nginx 1.12.0 "  +1 +/
Сообщение от XoRe (ok) on 13-Апр-17, 11:32 
Комрады, имейте в виду, что в 1.11.10 изменен формат заголовка кэша, ранее хранившиеся в кэше ответы теперь будут загружены заново;
Отсюда: https://www.opennet.dev/opennews/art.shtml?num=46048

Я так понимаю, это приехало и в 1.12.
После обновления до 1.12 ваш proxy_cache может внезапно инвалидироваться весь.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от KonstantinB (ok) on 13-Апр-17, 15:26 
Приехало. Не может, а совершенно точно инвалидируется.
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

23. "Релиз HTTP-сервера nginx 1.12.0 "  +/
Сообщение от KonstantinB (ok) on 13-Апр-17, 15:29 
Думаю, придется сначала запустить 1.12 рядом, настроить ему кэш в другую директорию и "прогреть" его.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру