jvmchat | Unsorted

Telegram-канал jvmchat - pro.jvm

5916

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш канал: @proJVM Вакансии: @jvmjobs @jvmjobschat ⚠️ Оффтоп -> @flood ❌Переход на личности ❌Троллинг ❌Реклама ❌HH (вакансии) ❌Варез

Subscribe to a channel

pro.jvm

зачем, если ты все равно не выпрыгнешь за количество ядер?

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

именно, потому что придумать им предназначение мы никак не можем

Читать полностью…

pro.jvm

ага, осталось еще 999808 тредов откуда-то придумать

Читать полностью…

pro.jvm

Это ивентлупы живут в тредах, а не треды в ивентлупах

Читать полностью…

pro.jvm

Так тебе же миллион тредов на коннекты нужен был, ты не помнишь? А ты эти коннекты теперь восемью разбираешь.

Читать полностью…

pro.jvm

С тысячей никаких проблем.

Читать полностью…

pro.jvm

@microkite забудь про 3 ляма с 1 сервака, это синтетика, я тебе реальный пример с подами привел, что-то плохого то?

Читать полностью…

pro.jvm

а как это влияет на количество циклов? я же не про инструкции говорю

Читать полностью…

pro.jvm

процессоры давно суперскалярные и OoO если что

Читать полностью…

pro.jvm

У тебя условно 3ггц * 192 ядер = 576mmm циклов. Теперь делим на твой 1м рпс.

Читать полностью…

pro.jvm

ты вот знаешь, рассказывай

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

виртуальные треды тоже нельзя cpu блочить

Читать полностью…

pro.jvm

был spring mvc блокирующий с jdbc api, выдавал x на y ресурсах
после включения виртуальных и при условии отсутствия пининга, этот мамонт стал выдавать c*x, c > 1, на y ресурсах

при это старый вариант на 2*x падал в OOM, и требовал k*y ресурсов, k > 1, чтобы не падать, а новый вариант работает хорошо

в итоге, у нас появляются опции:

уменьшить ресурсы, чтобы новые вариант выдавал тот же перфоманс, что и старый
оставить как есть и получить + перфоманс
увеличить ресурсы, чтобы достичь таких показателей, которых старый вариант не мог
либо тоже самое, что в первом пункте, но еще горизонтально масштабировать до старого размера пула ресурсов

ну прикольно же

Читать полностью…

pro.jvm

тред на каждый запрос, ну

Читать полностью…

pro.jvm

и живут в ивентлупе, управляются шедулером в жвм

Читать полностью…

pro.jvm

там уже 170 тредов допустим
у ивентлупа этого

Читать полностью…

pro.jvm

миллион тредов живут в ивентлупе

Читать полностью…

pro.jvm

тредов которые на isolcpus прибиты, которые поллят циклические буферы в сетевухе

и сабмиттят комплишены в ивентлуп вирт тредов, recv пакетика допустим

Читать полностью…

pro.jvm

У тебя есть тайм слайс на один запрос. Который проще всего считать в циклах, потому что он дает баундари по количеству запросов в память, инструкций и прочего.

Читать полностью…

pro.jvm

а про какие тогда циклы

Читать полностью…

pro.jvm

ты не подсчитаешь это так

Читать полностью…

pro.jvm

То есть тебе нужны восемь тредов, а не миллион

Читать полностью…

pro.jvm

может у меня вообще нет интерраптов, есть допустим 8 бизилуп тредов

Читать полностью…

pro.jvm

Действительно, какие? Кто-нибудь знает?

Читать полностью…

pro.jvm

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

Читать полностью…

pro.jvm

не надо

я про то, почему парадигма io bound не применима к эвент лупам

Читать полностью…

pro.jvm

но event loop и блокировать нельзя

Читать полностью…
Subscribe to a channel