ядро делает 10 RPS, то каким образом мы получили 124к TPS (т.е. там и пишушие были) на сервере с 64 ядрами?
меня интересует именно методика, т.к. мне кажется 10 читающих запросов в секунду на ядро — как-то слишком мало.
Одно ядро с поддержкой одного треда (как на большинстве вм) за одну секунду реального времени способно выполнить запросов суммарной длительностью не более 1 секунды. Про то что одно ядро может выполнить 10qps в общем случае никто не говорил, но в той задачке была информация что среднее время запроса - 100мс. В одной секунде 1000мс, 1000/100 - 10 запросов в секунду на 1 ядро. Если среднее время запроса 0.5 ms - одно ядро спокойно потянет 2к qps. Если у проца threads per core более одного, то теоретически одно ядро сможет тянуть в “threads per core” раз больше запросов, по сравнению с предыдущими расчетами, но это не точно, потому что с такими не доводилось сталкиваться.
…«Желудок у котёнка не больше котёнка» (с)
гипертрединг в норме повышает утилизацию ядра, но не увеличивает вычислительную мощность каждого ядра. то есть не 2х там, если только ядро не занято половину времени ожиданием чего-нибудь с шины.
проц не сферический конь в вакууме, даже в простых задачах у него простои будут. так что это абсолютно полезный механизм.
Обсуждают сегодня