@devops_ru

Страница 2323 из 4568
Alexey
17.02.2017
11:27:36
пойди бенчмарк напиши =)

Alex
17.02.2017
11:27:38
запусти и проверь, тысяч 500 тредов

Vladimir
17.02.2017
11:27:40
Alex иногда я думаю, может зря я тебя разбанил? :)

Google
Alex
17.02.2017
11:28:14
пойди бенчмарк напиши =)
что мен писать, я сравнивал pthread с горутинами

с другом было дело баловались

Alexey
17.02.2017
11:28:42
ну и сколько занимает создание треда?

Alex
17.02.2017
11:29:27
я создание каждого треда по времени не замерял. Создавали по 12 тысяч. У меня уходило порядка 15-18секунд минимум

Треды линупсовые хорошие где нужен быстрый io

т.к крутятся в системном планировщике

Alexey
17.02.2017
11:30:04
100к тредов за десять минут это 6 миллисекунд на тред (6000000 наносекунд карл!!11), за это время можно очень многое сделать

Alex
17.02.2017
11:30:11
а инициализация все равно не многим шустрее fork классического

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

Alexey
17.02.2017
11:30:43
мне кажется ты не понимаешь о чём ты говоришь

Alex
17.02.2017
11:30:53
И не долбил ядро сотнями тысяч системных вызовов, не говоря про память

Sergey
17.02.2017
11:31:27
Google
Vladimir
17.02.2017
11:31:42
тролльский вопрос
Человек заявил, я спросил. Сам нарывается

Alex
17.02.2017
11:32:37
Сколько памяти ест один тред?
Я вес одного потока не замерял. Явно меньше 4кб

Sergey
17.02.2017
11:34:31
Я вес одного потока не замерял. Явно меньше 4кб
а это значит, что если я перепишу приложение с многих процессов на треды, то я сэкономлю бездну памяти?

Alexey
17.02.2017
11:34:32
понятно, ещё один golangfanboy

Alex
17.02.2017
11:34:35
Подсказать правильный счет куда перечислять?
Все равно не даст. Секьюрити thru анальная огороженность.

Alex
17.02.2017
11:34:37
мне кажется ты не понимаешь о чём ты говоришь
Я говорю что сотни тысяч потоков запускать с отображением N:M на ядро маразм. Выигрыш только в лучшем IO за счет того что вся эта масса в системном планировщике висит

понятно, ещё один golangfanboy
лол. я и на плюсах пишу

просто кто-то выбирает инстурмент под задачу

а кто то "пишу на том что знаю"

Alexey
17.02.2017
11:35:09
дада, я в школе тоже "на плюсах писал" =_)

Alex
17.02.2017
11:35:54
дада, я в школе тоже "на плюсах писал" =_)
Ну я не знаю, судя по тому что ты говоришь о сотнях тысяч вызовов системного clone для асинхронщины- кажется что школа не прошла

Sergey
17.02.2017
11:36:31
>лучшем IO за счет того что вся эта масса в системном планировщике висит а вот этот момент давайте подробнее (:

Alexey
17.02.2017
11:37:22
мне кажется там про асинхронщиность речи не шло =) там был абстрактный сервер в вакууме, и ceph судя по хостнейму =)

Alex
17.02.2017
11:38:52
>лучшем IO за счет того что вся эта масса в системном планировщике висит а вот этот момент давайте подробнее (:
Это называется на слив, а "впадлу рассказывать про очевидные вещи". или про системный планировщик не слышал? Контекст процесса, что pthread это оторажение на странички памяти через ядрышко? Да знаешь ты все это

Поэтому лень даже мусолить про это

Alexey
17.02.2017
11:39:41
я тоже всегда говрю: главное знать термины! тогда ими можно давить в любом аргументе! =)

Alex
17.02.2017
11:40:11
мне кажется там про асинхронщиность речи не шло =) там был абстрактный сервер в вакууме, и ceph судя по хостнейму =)
я просто сказал что мне страшно представить сотня тысяч системных процессов в 1 задаче))

Google
Alex
17.02.2017
11:40:17
что тут такого-то)

Alexey
17.02.2017
11:40:29
я не говорил что в одной

Alex
17.02.2017
11:40:47
Ну ок)

Sergey
17.02.2017
11:40:47
я тоже всегда говрю: главное знать термины! тогда ими можно давить в любом аргументе! =)
там можно даже создать иллюзию победы в споре, потому что оппонент уйдет из спора с мыслью "боже, что за дебил..."

Alexey
17.02.2017
11:41:00
я говорил про кол-во тасков в системе -- я старался быть точным в своей терминологии

к слову об сотне тысяч тредов в нескольких процессах -- есть идеи почему CDN'ы часто терминируют TLS на apache а не nginx? =)))

(пример - Fastly)

Sergey
17.02.2017
11:42:44
Hackru
17.02.2017
11:43:10
наверное потому что напрефоркали на всю память процессов и сидят на жопе ровно

Alex
17.02.2017
11:43:31
там можно даже создать иллюзию победы в споре, потому что оппонент уйдет из спора с мыслью "боже, что за дебил..."
ты начал просить подробнее тебе рассказать про планировщик. Тебе коротко и ясно ответил - есть маны и по планировщику, и по clone в линукс мане. Сказал бы сначала в чем я не прав, а то откуда вылез и с каким словом- не понятно

Alexey
17.02.2017
11:43:50
наверное потому что напрефоркали на всю память процессов и сидят на жопе ровно
ну оно потом проксируеются на event-ориентированный сервер

Sergey
17.02.2017
11:44:02
близко, но не совсем
тогда объясни. интересно. не вижу глубокой разницы в таком режиме, если nginx'у сделать много воркеров (заметно больше, чем ядер) и apache с префорком

Alexey
17.02.2017
11:50:19
к слову об сотне тысяч тредов в нескольких процессах -- есть идеи почему CDN'ы часто терминируют TLS на apache а не nginx? =)))
так вот, твоя прекрасная event-ориентированная идеология идёт, мягко говоря, по пизде, если event-loop блокируется, но блокироваться он может не только на IO, но ещё и на CPU, например при большём потоке TLS хендшейков(а это ~2мс блокировки на каждый, для RSA2048) nginx просто перестаёт обслуживать соединения, только и занимаясь handshake'ами. И тоже самое для любой cpu-intensive штуки. Gzip -9? Brotli -11? - эти шткуки всегда должны быть в отдельных потоках, чего зилоты event-oriented парадигмы часто не понимают.

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

Sergey
17.02.2017
11:52:17
Alexey
17.02.2017
11:53:42
reuseport в listen это не полечил хотя бы частично разве?
ну там другой баг есть в ядре - в момен reload'а будут rst'шиться syn'ы =)

Google
Alex
17.02.2017
11:53:51
производительность io не связана с тем, кто дергает сисколл (процесс, тред, блаблабла).
Согласен, но ты здесь не учитываешь другого. Зависимость тут обратная скорее. Если ты сокеты те же раскидаешь по потокам системного уровня, то за счет большего процессорного времени чтение происходил бы быстрее, чем если бы потоки были пользовательского уровня и спрятаны были бы за свой планировщик. Это сильный оверхед. Поэтому, как гвоорят, если в го стартануть несколько процессов, то планировщик его начинает сильно тупить, IO проседает. Я тут скорее сравнивал потоки системного и пользовательского уровней

Alexey
17.02.2017
11:54:49
ну там другой баг есть в ядре - в момен reload'а будут rst'шиться syn'ы =)
(так как кол-во воркеров меняеться и hashtable превращается в тыкву)

> Поэтому, как гвоорят, если в го стартануть несколько процессов, то планировщик его начинает сильно тупить, IO проседает а как связаны между собой разные golang процессы?

Sergey
17.02.2017
11:57:14
(так как кол-во воркеров меняеться и hashtable превращается в тыкву)
гы, забавный эффект. не думал о нем. а это, раз уж ты тут, получается с reuseport, если не париться о reload'ах, все становится хорошо? я буквально недавно тестировал reuseport на ssl и нагрузка идеально ровная на ядра. если добавить еще cpu affinity на воркеры, то выглядит совсем хорошо.

Alex
17.02.2017
11:58:10
Alexey
17.02.2017
11:58:11
reuseport в listen это не полечил хотя бы частично разве?
в нём кстати есть другая засада --- там коннект получает тот worker на который hash попал, а не тот который щас свободен и вызвал на accept()

nikoinlove
17.02.2017
11:59:33
думаю это важно только на пограничных ситуациях. я тестировал что пара тыщ ссл хендшейков в секунду в нжинкс вообще никак на все остальные ответы не влияют

nikoinlove
17.02.2017
12:00:08
а сколько нагрузка?

Alex
17.02.2017
12:00:16
ааа, ты "процессами" горутины назвал
ничего страшного, процесс пользовательского уровня это. все правильно с терминологией. Поток пользовательского уровня было бы вернее

Quentin
17.02.2017
12:00:39
Ребята срочно нужна помощь

Как пользоваться ботом TempMail. Как посмотреть эту чертову почту? Как войти в этот ящик? Помогите!!!!!???

nikoinlove
17.02.2017
12:00:56
дуал ксеон в 48 ядер с трудом тянет 7

Hackru
17.02.2017
12:00:56
это канал про аниме?

Alexey
17.02.2017
12:01:10
а сколько нагрузка?
нагрузка это 60%+ от максимума - на Xeon v3 это примерно 1500+ в секунду для RSA2k

nikoinlove
17.02.2017
12:01:43
если тебя заботит производительность кода на 99%-ной нагрузке, то ты что-то делаешь не так

Alexey
17.02.2017
12:01:53
дуал ксеон в 48 ядер с трудом тянет 7
значит либо старый Xeon, либо хреново собраный / старый openssl

Sergey
17.02.2017
12:01:54
думаю это важно только на пограничных ситуациях. я тестировал что пара тыщ ссл хендшейков в секунду в нжинкс вообще никак на все остальные ответы не влияют
когда цифры большие, графики времени ответа становятся лохматые. ну потому что event-loop лочится. там можно дойти до того, что будут ложные таймауты бэкендов, когда бэкенд отвечает быстро, а у event-loop не доходит за таймаут до бэкенда. в нджинксе, это кажется полечено атомарностью времени на начало event-loop'а, но я не уверен.

Alexey
17.02.2017
12:02:39
если тебя заботит производительность кода на 99%-ной нагрузке, то ты что-то делаешь не так
меня заботит что будет когда меня начнут DDoS'ить, и поверьте любой CDN ну оооочень часто DDoS'ят =)

Google
nikoinlove
17.02.2017
12:03:16
в случае ддосов речь о порядках запаса

а не о двух процентах

зачем кстати ддосить сдн?:)

Alexey
17.02.2017
12:03:58
к слову а всинхронных хендшейках -- вот тут был неплохой тред на эту тему(патчи прилагаются), но я вроде скидывал уже http://mailman.nginx.org/pipermail/nginx-devel/2016-November/009158.html

Alex
17.02.2017
12:04:50
меня заботит что будет когда меня начнут DDoS'ить, и поверьте любой CDN ну оооочень часто DDoS'ят =)
Ты меня запутал) Я именно процессы Gо назвал. Которые мапятся на ядро. С горутинами работает внутренний планировщик. Собственно, если ты создаешь много процессов, то планировщик GO начинает тупить и IO. Go по факту лучше всего работает с моделью N:1

nikoinlove
17.02.2017
12:04:53
вы какую-то лабораторную задачу решаете кажется:)

Alexey
17.02.2017
12:05:56
зачем кстати ддосить сдн?:)
ну ДДоСят сайт игровой или продажной тематики -- все в щоке -- ген дир рвёт волосы -- быстро ищую в интернете -- оказывается если положить сайт за cloudflare то он начнёт тянуть DDoS, тут же подписывают контракт, переводят dns'ы на CF и вуаля - аттакер ддосит CDN.

Alex
17.02.2017
12:06:23
А ведь с евентами реально проблема есть. Мы сталкивались. Евенты идеально подходят для относительно простых задач, как пример, прокси сервер

nikoinlove
17.02.2017
12:06:26
ну все-таки cf не совсем cdn :)

Alexey
17.02.2017
12:06:58
ну щас любой CDN практически тебе может ddos-shield дать

тупо потому что это очень денежная ниша

Alex
17.02.2017
12:07:52
не делайте популярных сервисов, не зарабатывайте на проектах

и не будут Вас ддосить

?все просто пацаны

Sheridan
17.02.2017
12:08:42


Gleb
17.02.2017
12:08:59
Блиа. Зачем опять какие-то тупые картинки тут?

Alexey
17.02.2017
12:09:19
кукла малолетка

Sheridan
17.02.2017
12:09:19
Чтобы тебя позлить конечно

Gleb
17.02.2017
12:09:43
кукла малолетка
Жмет она поболее, чем ты )

Alexey
17.02.2017
12:09:54
ноги - ок, пресидает значит!

Страница 2323 из 4568