epoll и Windows IO Completion Ports: практическая разница

Введение

В этой статье мы попробуем разобраться чем на практике отличается механизм epoll от портов завершения (Windows I/O Completion Port или IOCP). Это может быть интересно системным архитекторам, проектирующим высокопроизводительные сетевые сервисы или программистам, портирующим сетевой код с Windows на Linux или наоборот.

Обе эти технологии весьма эффективны для обработки большого количества сетевых соединений.

Они отличаются от других методов по следующим пунктам:

  • Нет ограничений (кроме общих ресурсов системы) на общее количество наблюдаемых дескрипторов и типов событий
  • Масштабирование работает достаточно хорошо — если вы уже мониторите N дескрипторов, то переход к мониторингу N + 1 займёт очень мало времени и ресурсов
  • Достаточно легко задействовать пул потоков для параллельной обработки происходящих событий
  • Нет никакого смысла использовать при единичных сетевых соединениях. Все преимущества начинают проявляться при 1000+ соединений

Если перефразировать всё вышесказанное, обе данные технологии созданы для разработки сетевых сервисов, обрабатывающих множество входящих соединений от клиентов. Но в то же время между ними есть существенная разница и при разработке тех же сервисов её важно знать.
Читать дальше →
epoll и Windows IO Completion Ports: практическая разница
Source: habrahabr

Пост №3552409

Автор: SAMOWAR

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3552409″ }, «headline»: «эльфы :: фэнтези :: большевики», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D1%8D%D0%BB%D1%8C%D1%84%D1%8B-%D1%84%D1%8D%D0%BD%D1%82%D0%B5%D0%B7%D0%B8-%D0%B1%D0%BE%D0%BB%D1%8C%D1%88%D0%B5%D0%B2%D0%B8%D0%BA%D0%B8-4554932.jpeg», «height»: 604, «width»: 530 }, «datePublished»: «2018-06-27T12:21:53+03:00», «dateModified»: «2018-06-27T12:21:53+03:00», «author»: { «@type»: «Person», «name»: «SAMOWAR» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3552409
Source: Joyreactor

[Из песочницы] Решаем проблему миллиона открытых вкладок или «помогаем железу выживать»

Мы попробуем разобраться — как можно снизить нагрузку на серверное железо, обеспечив при этом максимальную производительность Web-приложения.

В разработке больших высоконагруженных проектов с огромным онлайном часто приходится думать, как снизить нагрузку на сервера, особенно при работе в webSocket’ами и динамически изменяемыми интерфейсами. К нам приходит 100500 пользователей и мы имеем 100500 открытых соединений по сокетам. А если каждый из них откроет по 2 вкладки — это уже *201000 соединений. А если пять?

Читать дальше →
[Из песочницы] Решаем проблему миллиона открытых вкладок или «помогаем железу выживать»
Source: habrahabr

Цитата #451010

Из разговора дизайнера с печатником:
д.- они опять прислали макет в .jpg
д.- (задумчиво) хотя у них всегда делается всё через .jpg
п. — хорошо, что не через .psd

и лыбятся друг на друга
похоже никто в офисе больше не понял.
Цитата #451010
Source: bash

Пост №3552394

Автор: SAMOWAR

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3552394″ }, «headline»: «Doom (игра) :: бензопила :: поп :: Игры», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Doom-%28%D0%B8%D0%B3%D1%80%D0%B0%29-%D0%98%D0%B3%D1%80%D1%8B-%D0%BF%D0%BE%D0%BF-%D0%B1%D0%B5%D0%BD%D0%B7%D0%BE%D0%BF%D0%B8%D0%BB%D0%B0-4554917.jpeg», «height»: 505, «width»: 854 }, «datePublished»: «2018-06-27T11:58:39+03:00», «dateModified»: «2018-06-27T11:58:39+03:00», «author»: { «@type»: «Person», «name»: «SAMOWAR» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3552394
Source: Joyreactor

Пост №3552392

Автор: ReDysson

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://anime.reactor.cc/post/3552392″ }, «headline»: «Nami (One Piece) :: Anime Ero Ass (Oshiri ) :: Kyonyuu :: One Piece (ван пис, ван-пис) :: Anime Ero (Взрослые Няшки) :: Anime (Аниме)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Nami-%28One-Piece%29-One-Piece-Anime-Kyonyuu-4554915.jpeg», «height»: 2000, «width»: 1109 }, «datePublished»: «2018-06-27T11:55:51+03:00», «dateModified»: «2018-06-27T11:55:51+03:00», «author»: { «@type»: «Person», «name»: «ReDysson» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3552392
Source: Joyreactor

Безопасность Microsoft Office: макросы VBA

В 2016 году исследователи отметили всплеск активности, практически второе рождение, еще недавно казавшейся безнадежно устаревшей техники распространения нежелательного ПО — несущих злонамененную нагрузку макросов в документах Microsoft Office, т.н. «макровирусов».

Самый знаменитый макровирус, Melissa, появился в марте 1999 года. Вирус поразил по-крайней мере сто тысяч компьютеров по всему миру, парализовал работу сотен компаний, ущерб экономике составил 80 миллионов долларов в одних только США.

Судя по отчетам компаний, связанных с информационной безопасностью (например, здесь ), на сегодняшний день макровирусы все еще занимают верхние строчки в рейтингах по распространенности.

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

Почему почти через двадцать лет та же техника остается на вооружении всевозможных компьютерных злоумышленников? Попробуем разобраться.
Читать дальше →
Безопасность Microsoft Office: макросы VBA
Source: habrahabr

Пост №3552389

Автор: ReDysson

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://blizzard.reactor.cc/post/3552389″ }, «headline»: «Tyrande Whisperwind :: Warcraft Ero :: Warcraft :: Blizzard (Blizzard Entertainment) :: Othalam :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/Tyrande-Whisperwind-Warcraft-Blizzard-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-4554912.jpeg», «height»: 4092, «width»: 2893 }, «datePublished»: «2018-06-27T11:52:57+03:00», «dateModified»: «2018-06-27T11:52:57+03:00», «author»: { «@type»: «Person», «name»: «ReDysson» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3552389
Source: Joyreactor

Цитата #451009

xxx: Против борщевика Сосновского должна бы сработать сосна Борщевского, но я хз, что это и где растёт.
Цитата #451009
Source: bash

Пост №3552376

Автор: SlapMyAss405

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3552376″ }, «headline»: «slack wyrm :: joshua-wright (slack wyrm) :: Dragonking737 :: Смешные комиксы (веб-комиксы с юмором и их переводы)», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/%D0%9A%D0%BE%D0%BC%D0%B8%D0%BA%D1%81%D1%8B-slack-wyrm-joshua-wright-Dragonking737-4554875.jpeg», «height»: 957, «width»: 768 }, «datePublished»: «2018-06-27T11:37:24+03:00», «dateModified»: «2018-06-27T11:37:24+03:00», «author»: { «@type»: «Person», «name»: «SlapMyAss405» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3552376
Source: Joyreactor