LINUX.ORG.RU

Царю про 10к в надежде перевести дискуссию в конструктив

 ,


11

10

Я не думаю, что кого-то можно впечатлить принципиальной возможностью запустить 10к потоков для обслуживания клиентов. Когда говорят про встанет раком, имеют в виду неоправданную потерю производительности.

Если ты готов померять реальный перформанс, пиши, я налабаю на еполле аналоги твоих тестовых серверов, чтобы не ты один тратил своё время. Меня например больше в всего в контексте этого спора интересует, как поведёт себя сервер с 10к потоков например на 4 ядрах против еполльного на одном таком же ядре, в вариантах без локов и с.

Результаты исследования можешь запостить на ЛОРе и восстановить честь среди пятизвездочных 😝

Начало дискуссии где-то рядом в удаленных по инициативе какого-то наркомана.

PS скорее всего я отвечу не раньше ночи или следующего утра.

★★★★★
Ответ на: комментарий от Gargamel

а я по чем знаю ? использую этот нейм потому что он так отметился в теме

anonymous
()
Ответ на: комментарий от anonymous

как только он появляется в треде, надо сразу его детектить и прекращать вести диалоги

Тут вот это порицают. Пока человек общается адекватно, с ним тоже общаются адекватно. Только он всегда скатывается в перебрасывание какашками. Тут с ним никто сравниться не может. И самое адекватное поведение — прекратить общение.

ленивость перетекает в постоянные изменения условий задачи

Да не было там изменений условий задачи с моей стороны. Он сам выпрашивал чёткие условия. А когда их получил, начал юлить, меняя эти условия. Я описал HTTP реверс-прокси, а он сварганил неизвестно что (оно не компилируется, кстати).

как не красиво то, правда ?

Некрасиво говорить: «Не читал, но осуждаю!»

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

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

anonymous
()
Ответ на: комментарий от anonymous

10к на много поточности и много процессорности будет работать

Кстати, а кто-то в процессе дискуссии вообще утверждал обратное?

anonymous
()
Ответ на: комментарий от Gargamel

Ну, многие с Си начинали, потом на плюсы переходили, так что это нормально. Может быть он реально что-то осознал, поэтому прекратил плюсы хейтить.

Ну, если не нравится конкретный ЯП по каким-либо причинам - это не повод выливать на него помои. Так-то в итоге складывается довольно странное ощущение.

reprimand ★★★★★
()
Ответ на: комментарий от i-rinat

Нет.

То есть царь воспользовался проверенной тактикой «припиши оппонету неверное утверждение и героически его опровергни»?

anonymous
()
Ответ на: комментарий от anonymous

есть какой то чел аля царь котрого не любят на лоре - так ?

Нет, есть какой-то чал аля царь, который кроме как трепать языком не умеет ничего - ни код написать ни объяснить толком основание для собственных утверждений и выводов. От него нет пользы - он не может ни научить ни продемострировать мастер-класс.

У него есть какие-то сферические навыки и познания в вакууме, которые позволили ему написать когда-то числодробилку чисел с плавающей запятой, которая, ЕМНИП, отличалась низкой точностью результатов в пользу производительности.

как только он появляется в треиде, надо сразу его детектить и прекращать вести диалоги

В смысле? Можно же словить лулзов.

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

Нет. Ситуация аналогичная с сорримаком.

и эта ленивость перетекает в постоянные изменения условий задачи

в пользу доп. лулзов

итог, как я считаю не правы не первые не вторые

Тут нет правой и неправой стороны. Тут есть массовое веселье троллей. Просто некоторые из них грубы и неопытны, а некоторые настолько тонки, что сразу сложно это понять.

reprimand ★★★★★
()
Ответ на: комментарий от anonymous

А если никакой ЯП, кроме С, не нравится?

Ну ок, в чём проблема-то? Пусть будет C, зачем остальные поносить?

reprimand ★★★★★
()
Ответ на: комментарий от anonymous

А если никакой ЯП, кроме С, не нравится?

Скорее всего это едиственный язык, на котором ты действительно умеешь писать.

anonymous
()
Ответ на: комментарий от anonymous

Неа, еще перл. На перле все умеют писать, просто некоторые этого еще не знают.

Ну а пых пых можно за вечер освоить.

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

Это я про шутку «Программист на Фортране может написать программу на Фортране на любом языке программирования». Человек знает нормально один язык программирования и зачем-то пытается писать на остальных также как и на этом единственном с соответствующим результатом.

anonymous
()
Ответ на: комментарий от anonymous

То есть царь воспользовался проверенной тактикой «припиши оппонету неверное утверждение и героически его опровергни»?

Да.

Ещё он объявил, что мы с ним играли, а я проиграл.

i-rinat ★★★★★
()
Ответ на: комментарий от anonymous

Умею писать быдлокод. Хреновый из меня программист.

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

Ну и латех я ЯПом не называю (хотя он и тьюринг-полный), т.к. на нем я исключительно тексты и презентации верстаю.

anonymous
()
Ответ на: комментарий от anonymous

С Си++ ситуация усложняется тем, что Си++03, Си++11 и Си++14 неслабо так отличаются. И на них принято писать по-разному.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Угу, знакомый цепепе-14 изучает. Говорит, вообще на цепепе не похоже ни разу!

Ну и это извращение — явно следствие бешеных мощей компов, когда можно не просто бустом подсирать карму бедному юзверю, но еще и шаблонов наваять так, что код на три-пять страниц текста будет компиляться минуту!!!

Вот поэтому плюсеров и не люблю. Как и любителей автотулзов.

anonymous
()
Ответ на: комментарий от i-rinat

Ещё он объявил, что мы с ним играли, а я проиграл.

Это уже некрасиво как-то получается, зачем тогда было такое писать

Ну давай сделай веб-сервер по принципу одно соединение — один тред. Посмотрим, сколько он выдаст и когда он загнётся. Сравниваем с nginx. Или ты сразу из треда улетаешь? ^_^

Если вы не собирались с ним играть в его игру, зачем дразнить?

pftBest ★★★★
()
Ответ на: комментарий от pftBest

зачем дразнить?

Он первый начал...

Нет, ну серьёзно. Я сначала пытался нормально общаться. Но сколько можно терпеть эти подколки? Он, значит, будет в меня какашками кидаться, а я должен терпеливо разжёвывать ему каждый пункт, в котором он съезжает с темы?

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

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от reprimand

Пальцем не буду показывать, просто в поиск по форуму вбей.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Хороший урок будет)

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

Тьфу, на select они висеть на линуксе все не смогут

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от dave

10 тысяч нитей может обрабатывать 10 тысяч запросов, но это так сильно зависит от условий.

Да, именно. Поэтому я описал эту часть подробно: «бекенд отдаёт файл длиной 8192000 байт с ограничением скорости в 8192 байта в секунду.»

i-rinat ★★★★★
()
Ответ на: комментарий от DELIRIUM

щито это за сантабарбара и зачем ты меня сюда призвал?
кстати, к царям я себя не причисляю. у нас в Екатеринбурге к царям особый подход :) так что менее всего хотелось бы быть царём или его сородичем.
а по теме: вообще непонятно, откуда ноги растут. о чём и с кем спор, собсна? что подразумевается под потоками (щаз что угодно так могут обозвать). по идее, сколько ядер - столько и потоков. другие варианты проигрышные при высоких нагрузках. ну, можно ещё ядра выделить на какие-то отдельные задачи. обычно делают рабочие потоки и конечный автомат внутри каждого потока. вот и вся нехитрая технология.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Тут драма, я в неё не вмешиваюсь (и тебе не советую), почитываю мельком ради лулзов, увидел, что кто-то упомянул царицу-сишницу, предположил, что это про тебя (второй вариант был Сильви, но она давно уже здесь не обитает). Вот и всё.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Iron_Bug

Кстати, раз списались тут напрямую, я тут одну вещь хотел спросить у тебя, в почту тебе стукнул, как прочитаешь, если интересно, стукни в жаббер.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от Iron_Bug

Ну тогда ответь на мыло, если интересно/актуально.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от cvv

Про смешанный сокет/mixed socket ничего не смог найти

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

2. Это ж сколько ресурсов будет сожрано зря: 10к бесконечных чиклов, непрерывно убеждающихся, что read() == 0. Очень сомневаюсь что это нормальная практика для приведенной задачи

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)
Ответ на: комментарий от eao197

С каждым разом вы меня, невменяешки, удивляете всё больше и больше. Я понимаю, что ваша неимоверная тупость не позволяет понять настолько простых вещей.

Ты понимаешь, невменяшка, что любой обмен данными - это и есть read/write. Всё остальное - это логика сверху. В данном случае задача предполагает обеспечить обмен этими данными для 10к клиентов в 10к потоках. Она выполнена.

Всё остальное - лишь твои, балаболка, глупые и убогие потуги из которые абсолютно ничего не следует.

Дергаешь write(accept_fd, it, 1024), а то, что реально может быть принято к записи всего 5 байт, тебе пох. Не царское дело, чтоль?

Не может. Да и к доле это отношения не имеет. Клиент проверяет сколько и каких данных ему пришло - значит условие соблюдено. Если что-то пришло - клиент отвалится. Это гарантирует то, что бенчмарк валиден и передаёт ровно то, что от него требуется.

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

anonymous
()
Ответ на: комментарий от dave

Царь.

Очередной эксперт врывается в тред? Со своей очередной ахинеей. Ничего и никак не наступит.

Тьфу, на select они висеть на линуксе все не смогут

Действительно, но почему-то они это делают. Вот ведь незадача?

Я поражаюсь вам, эксперты. Сколько ахинее, столько бреда. И ни грамма конкретики. Ты бы хоть попытался придумать причину по которой какие-то другие условие не позволят этому работать.

anonymous
()
Ответ на: комментарий от i-rinat

Царь.

Очередная ахиния. Ты бы хоть, балаболка, попытался на физическом уровне объяснить - что значит твоя ахинея про «ограничением скорости в 8192 байта в секунду».

Вся суть балаболов. Нанести какой херни, при которой рабочее станет нерабочим. Но эта балаболка не может объяснить ни причину по которой это помешает рабочему работать, ни что вообще это значит.

anonymous
()
Ответ на: комментарий от anonymous

Царь.

Вы совсем идиоты? Вам же расписали и объяснили кто что говорил и что из этого следует. Вы можете взять первоисточник и его опровергнуть. Почему же вы этого не делаете, а только балаболите?

Ну я могу тебя назвать только идиотом и ничего более. Это же насколько надо быть дебилом, чтобы со слившегося и пробалаболевшего спрашивать «обосрался ли он?». Это верх идиотизма. А ещё больший идиотизм принять ответ «нет». Просто, без доказательств.

Хотя о чём это я.

anonymous
()
Ответ на: комментарий от Gargamel

Царь.

О боже, что ты несёшь. Во-первых с чего ты взял, что я очередная бездарная балаболка? Во-вторых, с чего ты взял, что мне надо с чего-то начинать? Во-вторых, с чего ты взял, что хейтя кресты я их не знаю?

Тот балабол, которому ты отвечаешь. На этом уже обосрался. Он мне так же кукарекал, что я чего-то там незнаю, а после улетел на помойку, как возникла реальная задача на знание крестов. И далее начал отмазываться как девочка, что он «не программист уже давно, да и вообще не программист».

Доступно видео докладов с C++ Russia 2017 (комментарий)

Типичный пример эксперта, который ничего из себя не представляет, но позволяет себе кого-то оценивать.

Разница между мною и подобными персонажами в одном - я не ламерок.

anonymous
()
Ответ на: комментарий от reprimand

Царь.

Очередной пример невменяемости. Люди уже настолько деградировали, что просто не представляют как можно хейтить по делу. В том и разница, что я, в отличии от балаболов, знаю и понимаю язык. И понимаю что в нём плохо и понимаю зачем он нужен.

В вашем же убогом представлении - вся мотивация критики сводится к «неосилил», либо «одна бабка сказала». И как только вы видите то, что противоречит вашему невменяемому восприятию реальности - для вас это невменяемость.

Запомни, не все в этом мире похожи на тебя и на твоего соседа.

anonymous
()
Ответ на: комментарий от anonymous

Царь.

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

anonymous
()
Ответ на: комментарий от DiKeert

Царь.

Ты не определил самого главного - от того тебя и закидают.

У любой балаболки есть несколько шаблонных отмазок - одна из которых «задача нереальна, а если добавить условий будет иной результат». Всё это я писал в изначальном посте. Всё это множится на ноль просто, и ты об этом так же упоминал.

Перед там как утверждать «другие условия поменяют результат» - на определить те причины, те предпосылки на основании которых балабол сделал этот вывод. А т.к. эти причин нет и болтает он это лишь для того, чтобы отмазаться - он ничего тебе не ответит.

Это из разряда того, что «а молотком нельзя бить левой рукой - ты же проверил только правую». И таким методом можно сливаться сколько угодно долго.

Самое главное, чтобы аудитория понимала все эти методы манипуляций и на них не ловилась. А рядовые обитатели очень падки на подобную херню, ибо их их окружение и жизнь на 99% состоит из манипуляций.

Поэтому чем больше люди будут понимать что отвечать на подобные высеры - тем в большем дерьме будут эти «эксперты», где им и самое место. Каждый из них знает, что он проиграл, но пока публика хавает - он надеется, что сможет отмазаться.

anonymous
()

Царь.

Я всем советую научиться думать и не ловиться на подобное. Когда вам пишут «а при таких условиях результат измениться - значит выводы неверны» - вы спрашиваете - «а почему же он должен измениться? Ты же это не просто так кукарекнул?». И тогда, эта балаболка исчезнет из треда, либо начнёт вонять и ссылаться на «все это знают», «в интернете так написано». Но я надеюсь, что вы не настолько отчаянные, чтобы на это купиться.

На любое утверждение у человека, который понимает что он говорит - должен быть набор чётких оснований. И по первому требованию он должен их выкласть. Если кто-то начинается сливаться, что основания лежат где-то там, то он расписывается в своём балабольстве. Ведь если оно там, то у тебя его нет, а если у тебя его нет - как ты на основе его мог строить выводы?

Основная проблема в том, что есть множество людей, которые вроде понимают это, но которые не могут чётко и ясно поставить балаболку наместо. Их начинают забалтывать и они теряются.

anonymous
()
Ответ на: комментарий от eao197

Я думаю, что изрядную часть вменяемых посетителей LOR-е не удивить тем, что ядра современных ОС умеют шедулить 10K потоков с блокирующими операциями внутри (это умели делать и 20 лет назад, но тогда вычислительные мощности были тупо послабже). Меня, как и, полагаю, ТС-а интересует стоимость этого подхода. И, есть у меня подозрения, стоимость будет тем выше, чем более осмысленные действия будет выполнять каждая рабочая нить. Вероятно, отсюда и возникает задача от i-rinat с http прокси.

Не верно. Ни у какого «i-rinat» ничего, кроме убогих попыток вылези из лужи, в которую он себя загнал - нет. Это очередной лсный балабол и ничего более. Ты это должен знать по себе, когда ты болтал то же самое, про моё «неосилятрство крестов», а позже, когда оказалось иначе и это ты встал на место «Неосилившего» - тут и начали твои глупые оправдания.

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

anonymous
()
Ответ на: Царь. от anonymous

Да не мучайся так! Просто мне было лень писать про poll. Я так, информацию собираю

dave ★★★★★
()
Ответ на: комментарий от i-rinat

Да, именно. Поэтому я описал эту часть подробно: «бекенд отдаёт файл длиной 8192000 байт с ограничением скорости в 8192 байта в секунду.»

Ага. Да еще если файл произвольный с диска :)

dave ★★★★★
()
Ответ на: комментарий от eao197

Царь. Важно. По поводу тредов.

ОС умеют шедулить 10K потоков с блокирующими операциями внутри

В чём тогда смысл c10k? Если всё умело?

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

Прежде всего, там, где мы не является инициатором операции - нужно получить некий сигнал инициации операции. Блокировка решает эту задачу и именно подобный сигнал «снимает» её.

Так же блокировка это ещё и про синхронизацию между потоком, который выполняет операцию и тем, который её вызывает. Завершение операции - есть такой же сигнал к пробуждению.

И естественно, что через подобный механизм нельзя никак запустить параллельные операции. Отсюда и берутся потоки.

Всё, ни для чего иного треды не нужны. Далее уже идут манипуляции, а именно приплетание того, что к теме не относится. Причина проста - балабольство и неспособность отличать А от Б.

Это заключается в, как я уже говорил выше, привязке к c10k логики обработки данных. Но это никак не связано с темой. Ведь, если альтернативные методы обычно используются в однопоточном виде, то уж обработка данных раскидывается по тредам, либо вообще делегируется какому-то левому процессу. И причина проста - ИО никак не связано с обработкой.

Если в рамках задачи обработки у тебя возникла необходимость в ИО, то опять же - задача организации этого ИО уходит за рамки темы.

anonymous
()
Ответ на: комментарий от BruteForce

Ну вот пачка, из того, что легко нашел:

Андрей Паньгин — Java Runtime: повседневные обязанности виртуальной машины Java

Дмитрий Чуйко — Быстрая загрузка ваших классов

Андрей Солнцев и Кирилл Кленский — Перфомансные войны

не ОК но круто Руслан Черемин, Oracle — Escape Analysis и скаляризация

Ну и как же без Шипилева

У Шипелева на сайте вообще полно хорошей инфы про микробенчмарки и перфоманс: https://shipilev.net

Дисклаймер - эти ссылки не про 10k problem, а про то как люди пытаются выжать все досуха из JVM.

DiKeert ★★
()
Последнее исправление: DiKeert (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.