Pull to refresh

Comments 15

В школьные годы я админил, благо разбирался с Cisco. Можете погуглить, побеждал в 2010 в олимпиаде по администрированию сетей, проводимой Cisco. Ну и учебу в универе вполне совмещал с фуллтайм работой. Это не так уж и сложно)

Это не считается за опыт работы :)
Если в универе не учиться, а просто его закончить, то в принципе да.
В http://lidabelmebel.ru/upload/docs/pdf/HL-book-for-beginners.pdf, написанно:
В правильных веб-серверах даже файлы с дисков от-
даются сразу в память, минуя загрузку (такого эффекта можно достичь, включив, например,
опцию sendfile в nginx).
Это еще что за неизвестная технология такая, телепортация? Как это с дисков в память без загрузки?
Видимо опечатка. Похоже имелось ввиду не в память, а в сеть. Тем более, что файлы статики и так, по идее, должны бы быть в памяти (в кэше).
не в память, а в сеть
То есть, с диска, сразу в сетевую карту, не попадая в ОЗУ? А контролер DMA участвует? По какой шине идет эта передача, по PCI express? Какой контролер это контролирует, южный или северный мост?
Я же в предыдущем комменте уже это написал «Тем более, что файлы статики и так, по идее, должны бы быть в памяти (в кэше).» Конечно же загрузка в ОЗУ будет. Не будет вычитывания в userspace.
Так. Перечитал коммент. Еще раз. В книге должно было быть написано не «В правильных веб-серверах даже файлы с дисков отдаются сразу в память, минуя загрузку», а должно, имхо, быть «В правильных веб-серверах даже файлы с дисков отдаются сразу в сеть, минуя загрузку в userspace»
Вам виднее, наверно. Я не в курсе, просто интересно что бы могло означать, вдруг появилась неизвестная мне технология.
Предположу что проблема с userspace в том что происходит переключение контекста CPU. Вряд ли идет копирование из системного RAM в userspace, а работает copy-on-write, то есть копирование буферов файла не происходило бы, а значит проблема не в копировании памяти, а в простое CPU при переключении контекстов.
Но наверное при десятках и сотнях тысяч запросов в секунду, переключение контекста CPU могло бы занимать большой процент простоя производительности железяки.
Сорри, изначально воспринял Ваши слова, как троллинг.

Да, Вы правы. Context-switch одна из причин. Но copy-on-write там нет (если и есть, то я об этом не знаю). Идет копирование. sendfile как раз и нужен для zero-copy. Тоесть, при read/send будет идти именно копирование.

Есть еще splice()

Вот ссыль: blog.superpat.com/2010/06/01/zero-copy-in-linux-with-sendfile-and-splice

Хотя zero copy штука такая. С ней очень много мифов. Например, есть очень популярное мнение, что mmap быстрее read/write. Это далеко не всегда верно, о чем даже Линус писал.
UFO just landed and posted this here
UFO just landed and posted this here
да да да, задавая этот вопрос вдохновлялся этой статьей!
Я один не понимаю почему книга по разработке высоконагруженных систем находится на сайте Белорусской мебели? 0_о
Sign up to leave a comment.