1.1, A.Stahl (ok), 19:33, 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.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.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, обработчики на лету картинок, видео, и т.д.
| |
|
|