The OpenNET Project / Index page

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

Релиз HTTP-сервера nginx 1.7.2

17.06.2014 19:26

Представлен новый выпуск основной ветки высокопроизводительного HTTP-сервера nginx 1.7.2, в котором продолжено развитие новых возможностей. В новой версии в блок конфигурации upstream добавлена поддержка директивы "hash", предназначенной для организации балансировки нагрузки с привязкой клиента к серверу. Кроме того, реализован механизм дефрагментации свободных блоков разделяемой памяти.

  1. Главная ссылка к новости (http://mailman.nginx.org/piper...)
  2. OpenNews: Новый выпуск http-сервера nginx 1.7.1
  3. OpenNews: Релиз http-сервера nginx 1.6.0
  4. OpenNews: Проект Nginx получил инвестиции в размере 10 млн долларов
  5. OpenNews: Nginx выпускает коммерческую версию - Nginx Plus
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/40022-nginx
Ключевые слова: nginx
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 19:33, 17/06/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >Кроме того, реализован механизм дефрагментации свободных блоков разделяемой памяти.

    Это вообще важно для такой программы?
    Как я понимаю это имеет смысл только при наличии большого количества данных, которые должны быть в памяти постоянно. Мне кажется у веб-сервера таких данных не много. Впрочем, сделали так сделали -- хуже точно не будет.

     
     
  • 2.2, hshhhhh (ok), 19:38, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ну ведь он может висеть в памяти годами без перезагрузки.
     
     
  • 3.3, A.Stahl (ok), 19:47, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ага. И если все 50 метров его личных данных станут чересчур фрагментированными, то небо окрасится в чёрный цвет и по телевизору будут показывать лишь пятую серию "санта-барбары"?
     
     
  • 4.4, hshhhhh (ok), 19:49, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Ага. И если все 50 метров его личных данных станут чересчур фрагментированными,
    > то небо окрасится в чёрный цвет и по телевизору будут показывать
    > лишь пятую серию "санта-барбары"?

    Ну ведь и Сысоев не IIS пишет

     
  • 4.6, Аноним (-), 20:18, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    а как бэкенд прокси его уже не юзают?
     
  • 4.8, Аноним (-), 21:12, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага. И если все 50 метров его личных данных станут чересчур фрагментированными,
    > то небо окрасится в чёрный цвет и по телевизору будут показывать
    > лишь пятую серию "санта-барбары"?

    Нет, тогда производительность просядет (большой блок придется долго выискикать в помойке из кучи мелочи) или в некотором случае совсем не удастся выкроить блок нужного размера из той вермишели которая образовалась.

     
  • 4.9, жопка3 (?), 22:45, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Сильно фрагментированная куча плоха по нескольким причинам:
    1. Внутреняя фрагментации страниц. Приводит к большему количеству используемых страниц.
    2. Большее количество используемых страниц приводит к большей нагрузке на TLB, как следствие кеш становится менее эффективным, растет число промахов, что приводит в удалению строк из кеша и помещению туда новых, что в свою очередь приводит к снижению производительности(из-за необходимости выполнения новых virtual to physical address translation lookup'ов)
    3. Опять же, из-за большего количества используемых страниц возрастает вероятность кеш миссов по L1/L2/L3 кешам. Что опять же приводит к потере производительности(время доступа к строке памяти возрастает на несколько порядков).

    Короче говоря, если вы отдаете на 1rps статикой одну страничку - вы наверное ничего не замете.

     
     
  • 5.10, жопка3 (?), 22:47, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >[оверквотинг удален]
    > 2. Большее количество используемых страниц приводит к большей нагрузке на TLB, как
    > следствие кеш становится менее эффективным, растет число промахов, что приводит в
    > удалению строк из кеша и помещению туда новых, что в свою
    > очередь приводит к снижению производительности(из-за необходимости выполнения новых
    > virtual to physical address translation lookup'ов)
    > 3. Опять же, из-за большего количества используемых страниц возрастает вероятность кеш
    > миссов по L1/L2/L3 кешам. Что опять же приводит к потере производительности(время
    > доступа к строке памяти возрастает на несколько порядков).
    > Короче говоря, если вы отдаете на 1rps статикой одну страничку - вы
    > наверное ничего не замете.

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

     
  • 2.5, Andrey Mitrofanov (?), 20:06, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Кроме того, реализован механизм дефрагментации свободных блоков разделяемой памяти.
    > Это вообще важно для такой программы?
    > Как я понимаю это имеет смысл только при

    ""While this isn't a problem for nginx itself, it is known to be bad for various 3rd party modules.
         http://mailman.nginx.org/pipermail/nginx-devel/2014-June/005427.html

    Гм, патч почти год http://mailman.nginx.org/pipermail/nginx-devel/2013-June/003887.html полировали. >> Может, и не очень важно...

     
  • 2.7, Аноним (-), 21:11, 17/06/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как я понимаю это имеет смысл только при наличии большого количества данных, которые
    > должны быть в памяти постоянно.

    Это имеет смысл в случае если программа долго работает и тасует достаточно много данных.

     
  • 2.11, Ordu (ok), 01:14, 18/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Как я понимаю это имеет смысл только при наличии большого количества данных, которые должны быть в памяти постоянно.

    Неа. Читаем Кнута, просвещаемся. Фрагментация памяти склонна к развитию несмотря на освобождения памяти. Даже правильнее будет использовать вместо предлога "несмотря", предлог "благодаря." Динамическое выделение памяти -- это зло. И сборка мусора -- адепт его. Позволяющий победить фрагментацию, но требующий взамен глобал локов.

     
     
  • 3.12, Аноним (-), 02:06, 18/06/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Динамическое выделение памяти -- это зло

    Да, расскажи подробнее про это, теоретик диванный

     
  • 2.16, XoRe (ok), 17:47, 18/06/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >>Кроме того, реализован механизм дефрагментации свободных блоков разделяемой памяти.
    > Это вообще важно для такой программы?
    > Как я понимаю это имеет смысл только при наличии большого количества данных, которые должны быть в памяти постоянно. Мне кажется у веб-сервера таких данных не много.

    Если сам nginx от этого не сильно страдает, у него есть куча интересных модулей.
    Встроенные perl, lua, обработчики на лету картинок, видео, и т.д.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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