Смотрите, видимо не совсем ясный слайд в пост вставил, сейчас поясню:
— шаги цепочки известны, цепочек (thread groups) несколько
— матожидание паузы между хитами, с учетом рандомности, тоже известно
В итоге мы знаем «в среднем» продолжительность хитования одной цепочки и число хитов в ней как в секунду, так и, разумеется, в сутки. Цепочки в первоначальном плане у нас разделяются на доли: 30%, 20%, 45%, 5%, которые фактически являются вероятностями появления той или иной цепочки или, другими словами, пользователя в группе хитующих пользователей. В результате все данные, для рассчета примерно миллиона хитов в сутки у нас есть. Сам расчет на выходе дает число потоков в каждой thread group и выполняется в эксельке.
Рассмотрим пример:
Распределение цепочек, скажем, 60% А и 40% Б. И за сутки нам нужно получить примерно миллион хитов.
Цепочка А за секунду генерит 1 хит. Цепочка Б за секунду генерит 2 хита. В сутки цепочка А создаст 86400 хитов, а цепочка Б — 86400*2 = 172800 хитов.
Т.к. мы изначально разделили пользователей на группы с долями 60% и 40%, а каждый нагрузочный поток есть полный аналог пользователя, то в каждый момент времени, 60% нагрузочных потоков должны выполнять цепочку А, а 40% потоков — цепочку Б.
0.6 * N * (1 хит/сек) * 86400 + 0.4 * N * (2 хита/сек) * 86400= 1 000 000 хитов за сутки
Найти N — легко! Тут можно еще дальше порассуждать и поискать скажем N, при котором в миллионе хитов в сутки доля цепочки А будет 60%, а доля цепочки Б — 40%, но для простоты вариант, когда число нагрузочных потоков пропорционально доле цепочки — работает хорошо.
Каждый день читаю ТЗ на веб-сайты, постоянно участвую в крупных корпоративных внедрениях веб-кластеров и редко кто серьезно задумывается о нагрузочном тестировании, поверьте. Пытаюсь привлечь внимание к проблеме простыми словами.
Спасибо за интуитивное объяснение. Я вчера глянул теорию мер, там, конечно, нужно покопаться порядочно :-) Я себе проще объясняю, как в 19 веке — через отношение элементарных исходов благоприятствующих к общим. Немного комбинаторики и 500 задачек из учебника Вентцель и очень помогло в свое время.
Вот, кстати, органичная красота и стройность математики и заставляет меня думать о ее связи с нашим сознанием (мышлением), несмотря на критерий Поппера, который связывает математику с религией
Спасибо, очень емко познавательно. Хотя я терверу достаточно много времени отдал — он очень помогает в прикладных задачах по разработке. Да и статистика очень полезная часто вещь. Можете, если не затруднит, прокомментировать современную теорию категорий?
Как чисто прикладной инженер-разработчик, не математик ни разу, в масле и опилках с ключом в руках, я просто попытался найти в великой науке помощь и объяснение показанным в посте жутким примерам из жизни, да :-)
А как же вычислительная математика? Алгоритмы машинного обучения работают, бизнес зарабатывает деньги, а теоретического объяснения — практически нет. Открыли, по сути, ящик Пандоры. Как инициализировать нейросети правильно — незнаем, как обучать на малом числе примеров — незнаем. Есть ощущение, что вычислительная математика стала сурово обгонять теоретическую, которая стала, я возможно неправ, заранее прошу прощения, бусковать и запутываться во все усложняющихся доказательствах, которые мало кто уже может проверить и содержащих, часто, ошибки. Может в вычислительной математике будущее, ибо наших мыслительных возможностей не хватает?
А как же тервер, ЦПТ, хи-квадрат распределение? Там все возможно же :-) Вот кстати, в том же тервере, геометрическое определение вероятности… тоже аксиома, не доказывается, почему-то. Скакнули из дискретного мира лихо.
А где мы начертили, в каком базисе? Ортонормальном, двумерном. А в другом если. Например в машине опорных векторов в некоторых случаях переходят в искривленное многомерное пространство через kernel-trick (иногда бесконечномерное) — интересно там что будет. Не зря же и Лобачевский и Риман перетаскивали геометрию в миры, где сумма углов треугольника не равнялась 180 градусам. И, кстати, Риман то нашел как искать число простых чисел, поменяв точку отсчета — перешел к комплексным числам. Я просто не математик, могу ошибаться, ища аналогии, простите если что.
— шаги цепочки известны, цепочек (thread groups) несколько
— матожидание паузы между хитами, с учетом рандомности, тоже известно
В итоге мы знаем «в среднем» продолжительность хитования одной цепочки и число хитов в ней как в секунду, так и, разумеется, в сутки. Цепочки в первоначальном плане у нас разделяются на доли: 30%, 20%, 45%, 5%, которые фактически являются вероятностями появления той или иной цепочки или, другими словами, пользователя в группе хитующих пользователей. В результате все данные, для рассчета примерно миллиона хитов в сутки у нас есть. Сам расчет на выходе дает число потоков в каждой thread group и выполняется в эксельке.
Рассмотрим пример:
Цепочка А: хит, пауза 1 сек, хит, пауза 2 сек, хит
Длина: 3 хита
Время выполнения: ~3 сек
Цепочка Б: хит, пауза 1 сек, хит
Длина: 2 хита
Время выполнения: ~1 сек
Распределение цепочек, скажем, 60% А и 40% Б. И за сутки нам нужно получить примерно миллион хитов.
Цепочка А за секунду генерит 1 хит. Цепочка Б за секунду генерит 2 хита. В сутки цепочка А создаст 86400 хитов, а цепочка Б — 86400*2 = 172800 хитов.
Т.к. мы изначально разделили пользователей на группы с долями 60% и 40%, а каждый нагрузочный поток есть полный аналог пользователя, то в каждый момент времени, 60% нагрузочных потоков должны выполнять цепочку А, а 40% потоков — цепочку Б.
0.6 * N * (1 хит/сек) * 86400 + 0.4 * N * (2 хита/сек) * 86400= 1 000 000 хитов за сутки
Найти N — легко! Тут можно еще дальше порассуждать и поискать скажем N, при котором в миллионе хитов в сутки доля цепочки А будет 60%, а доля цепочки Б — 40%, но для простоты вариант, когда число нагрузочных потоков пропорционально доле цепочки — работает хорошо.
А где мы начертили, в каком базисе? Ортонормальном, двумерном. А в другом если. Например в машине опорных векторов в некоторых случаях переходят в искривленное многомерное пространство через kernel-trick (иногда бесконечномерное) — интересно там что будет. Не зря же и Лобачевский и Риман перетаскивали геометрию в миры, где сумма углов треугольника не равнялась 180 градусам. И, кстати, Риман то нашел как искать число простых чисел, поменяв точку отсчета — перешел к комплексным числам. Я просто не математик, могу ошибаться, ища аналогии, простите если что.