Що таке "середні" запити в секунду для виробничого веб-додатка?


120

Я не маю орієнтиру в плані того, що вважається "швидким"; Я завжди цікавився цим, але ніколи не знайшов прямої відповіді ...


9
Немає прямої відповіді. Швидкий - відносний термін, і відповідь дуже залежить від вашого контексту та застосування.
Дейв Л.

Відповіді:


105

Здається, що OpenStreetMap має 10-20 за секунду

Вікіпедія здається, що 30000 - 70000 в секунду поширюються на 300 серверів (100 - 200 запитів в секунду на машину, більшість з яких - кеші)

Географ отримує 7000 зображень на тиждень (1 завантаження за 95 секунд)


6
Нічого собі, це досить повільно для Вікіпедії
Джозеф Персі

8
@JosephPersie Не забудьте переглянути дату публікації, хе-хе.
Спектрал

Це все ще показує менше 200 000 / сек - нова сторінка моніторингу - grafana.wikimedia.org
OJW

що цікаво, я просто завантажував тестування потокової передачі на веб-фрагменти на записи в секунду порівняно з запитами в секунду. Я думаю, що запити / секунди є в тому самому бальному парку (від 100 до 200), але при потоковому відтворенні він знімає до 1140 записів в секунду (робить ndjson). У будь-якому разі думав, що я поділюся більше номерів. (не впевнений, чи зміниться це тест, який тестували через 2 мікросервіси в базу даних пам'яті ... все-таки потрібно перевірити живу БД. БД може бути нашим вузьким місцем і повернути нас назад, якщо ми не перейдемо на nosql).
Дін Гіллер

50

Не впевнений, що все ще хтось зацікавлений, але ця інформація була розміщена про Twitterтут теж ):

Статистика

  • Понад 350 000 користувачів. Дійсні цифри, як завжди, дуже супер супер таємниця.
  • 600 запитів в секунду
  • В середньому 200-300 з'єднань в секунду. Колір до 800 з'єднань в секунду.
  • MySQL обробляв 2400 запитів в секунду.
  • 180 екземплярів рейок. Mongrel використовує як веб-сервер.
  • 1 сервер MySQL (одна велика 8-ядерна коробка) та 1 підлеглий. Раб читається лише для статистики та звітності.
  • 30+ процесів для обробки незвичайних завдань.
  • 8 НД X4100s.
  • Обробіть запит за 200 мілісекунд у Rails.
  • Середній час, проведений у базі даних, становить 50-100 мілісекунд.
  • Більше 16 Гб пам'яті.

2
На крок ближче до джерел у випадку, якщо публікація блогу знизиться: highscalability.com/blog/2009/6/27/…
Chinoto Vokro

@ChinotoVokro Також додав посилання на відповідь. Дякую!
Пітер К.

1
@user :-D Так, це вже майже історично. Натомість це була корисна відповідь для мене! :-)
Пітер К.

13

Коли я заходжу на панель управління свого веб-хостингу, відкриваю phpMyAdmin і натискаю "Показати інформацію про час виконання MySQL", я отримую:

Цей сервер MySQL працює 53 дні, 15 годин, 28 хвилин і 53 секунди. Він розпочався 24 жовтня 2008 року о 04:03 ранку.

Статистика запитів: з моменту його запуску на сервер надіслано 3,444,378,344 запитів.

Всього 3,444 М
за годину 2,68 М
за хвилину 44,59 к
за секунду 743,13

Це в середньому 743 запити mySQL щосекунди за останні 53 дні!

Я не знаю про тебе, але для мене це швидко! Дуже швидко!!


Не впевнений. У той час я був у IXWebhosting, і вони використовували 32-бітну операційну систему Windows для своїх спільних серверів. Я підозрюю, що їхній сервер баз даних mySQL був окремою спеціалізованою машиною, але я не знаю точно.
lkessler

3
Б'юсь об заклад, що це число - це сукупність всіх звернень до цього конкретного сервера MySQL, а не лише ваш екземпляр - хоча я можу помилятися
warren

@Warren: Так, я припускав, що це весь сервер. Але знаючи, що стосується однієї SQL-обробки запитів, та обробка цих кількох ВСЕ секунди дуже вражає ... і це лише середнє, а не пікове навантаження.
lkessler

11

особисто мені подобається обидва аналізи, що робляться щоразу .... запити / другий і середній час / запит, і я люблю бачити максимальний час запиту, а також поверх цього. легко перевернути, якщо у вас 61 запит в секунду, ви можете просто перевернути його на 1000 мс / 61 запит.

Щоб відповісти на ваше запитання, ми робимо величезний тест на навантаження самостійно і знаходимо, що це діапазон для різних апаратних засобів Amazon, які ми використовуємо (найкращим значенням було 32-бітний процесор середнього рівня, коли він знизився до $$ / подія / секунду) та наші запити / секунди в діапазоні від 29 запитів / другий / вузол до 150 запитів / другий / вузол.

Зростання кращого обладнання, звичайно, дає кращі результати, але не найкращий рентабельність інвестицій. У будь-якому випадку, ця публікація була чудовою, тому що я шукав паралелі, щоб побачити, чи мої номери там, де в бальному парку і поділився моїм, а також у випадку, якщо хтось інший шукає. Міна завантажена виключно настільки високо, наскільки я можу піти.

ПРИМІТКА: завдяки запитам / другому аналізу (не мс / запит) ми знайшли головну проблему з Linux, яку ми намагаємося вирішити, де linux (ми тестували сервер у C та Java) заморожує всі дзвінки в бібліотеки сокет, коли під занадто великим навантаженням що здається дуже дивним. Повний пост можна знайти тут насправді .... http://ubuntuforums.org/showthread.php?p=11202389

Ми все ще намагаємося вирішити це, оскільки це дає нам величезний приріст продуктивності в тому, що наш тест проходить від 2 хвилин 42 секунди до 1 хвилини 35 секунд, коли це виправлено, тому ми бачимо 33% покращення продуктивності .... не кажучи вже про те, чим гірше DoS-атака, тим довше ці паузи, так що всі процесори падають до нуля і припиняють обробку ... на мою думку, обробка сервера повинна тривати перед обличчям DoS, але чомусь вона завмирає раз у раз під час Dos іноді до 30 секунд !!!

ДОПОЛНЕННЯ: Ми з'ясували, що це насправді помилка умови jdk race .... важко виділити великі кластери, але коли ми запустили 1 вузол даних 1 сервера, але 10 з них, ми могли кожного разу відтворити його та просто подивилися на сервер / datanode, на якому він стався. Перехід jdk на попередній випуск вирішив проблему. Ми були на jdk1.6.0_26, я вірю.


4

Це дуже питання щодо яблук до апельсинів.

Ви запитуєте 1. середнє завантаження запиту на виробництво. 2. що вважається швидким

Вони не обов'язково стосуються.

Ваша середня кількість запитів в секунду визначається

а. кількість одночасних користувачів

б. середня кількість запитів на сторінку, яку вони роблять за секунду

c. кількість додаткових запитів (тобто дзвінки Ajax тощо)

Що стосується того, що вважається швидким .. ти маєш на увазі, як мало запитів може взяти сайт? Або якщо частина обладнання вважається швидкою, якщо вона може обробити xyz # запитів за секунду?


1

Зверніть увагу, що графіки частоти показів будуть синусоїдальними візерунками з "піковими годинами", можливо, в 2х або 3 рази швидкістю, яку ви отримуєте, коли користувачі сплять. (Може бути корисним, коли ви плануєте щоденну обробку пакетної обробки, яка відбуватиметься на серверах)

Ефект можна побачити навіть на таких міжнародних (багатомовних, локалізованих) сайтах, як вікіпедія


1

менше 2 секунд на користувача, тобто користувачі, які бачать повільніші реакції, ніж вважають, що система повільна.

Тепер ви кажете мені, скільки користувачів ви підключили.


1

Ви можете шукати в "аналізі ефекту слешдоту" для графіків того, що ви побачили, якби якийсь аспект сайту раптом став популярним у новинах, наприклад, цей графік у вікі .

Виживаючі веб-програми, як правило, є тими, які можуть створювати статичні сторінки, а не надсилати кожен запит через мову обробки.

Було відмінне відео (я думаю, що це було на ted.com? Я думаю, це може бути веб-команда flickr? Хтось знає посилання?) З ідеями щодо масштабування веб-сайтів за межами одного сервера, наприклад, як виділити з'єднання між поєднаннями серверів лише для читання та запису для читання, щоб отримати найкращий ефект для різних типів користувачів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.