Скільки запитів повинен мати мій веб-сервер?


39

Не вдаватись до конкретних характеристик, оскільки я знаю, що на це немає реальної відповіді. Але я сьогодні робив тестування навантаження з abкомандою в апачі.

І потрапив до кількості 70 запитів в секунду (1000 запитів із 100 одночасними користувачами), на сторінці, яка завантажується з 4 різних таблиць БД, і робить деякі маніпуляції з даними. Так що це досить важка сторінка.

Наразі сервер не використовується ні для чого іншого, і навантаження на нього - це я, оскільки він знаходиться в розробці. Але додаток буде використовуватися щодня багатьма користувачами.

Але чи цього достатньо? Або я навіть хвилююся (до тих пір, поки закінчиться X просить секунди)

Я думаю, що я не повинен хвилюватися, але хотів би поради з цього приводу.

Відповіді:


44

70 запитів в секунду працює на погодинну ставку 252 000 візуалізації сторінки / годину.

Якщо ви припускаєте, що середній сеанс перегляду вашого веб-сайту становить 10 сторінок глибиною, то ви можете підтримувати 25000 унікальних даних на годину.

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

Багато сайтів, над якими я працюю, бачать приблизно 50% їх щоденного трафіку приблизно за 3 години пікового періоду щодня. Якщо це стосується вашого веб-сайту (це залежить від виду вмісту, який ви надаєте, та аудиторії), то ви повинні мати можливість підтримувати кількість щоденних унікальних відвідувань у розмірі близько 150 000.

Це досить хороші цифри; Я думаю, ти повинен бути добре. Розумно вивчити кешування кодів та налаштування бази даних зараз, але пам’ятайте, що передчасна оптимізація є коренем усього зла. Слідкуйте за сайтом, шукайте гарячих точок і чекайте зростання трафіку, перш ніж пройти дорогу оптимізацію для проблеми, якої у вас може не виникнути.


Дуже гарна відповідь, саме те, що я шукав. Я не робив жодної оптимізації і хотів отримати базові цифри, щоб побачити, де я сидів на даний момент.
flafur Waage

"Якщо ви припускаєте, що середній сеанс перегляду вашого веб-сайту має глибину 10 сторінок, ви можете підтримувати 25000 унікальних елементів на годину" ... за умови, що кожен унікальний надсилає запит щосекунди протягом сеансу. Якщо відвідувачеві необхідно подумати перед наступним натисканням / запитом - наприклад, 5 секунд - ви зможете підтримувати більше відвідувачів у паралельних сесіях.
Йохім Шуленклоппер

Я повністю згоден щодо "передчасної оптимізації" з точки зору коду. Але вибір недосконалого дизайну в цілому - насправді корінь усього зла. Ніщо не може подолати хибний дизайн, крім переписання.
Джефф Фішер

5

Я використовував два інструменти для перегляду роботи моїх серверів apache в минулому.

Один - munin , який графікує всілякі речі, включаючи кількість екземплярів apache, кількість підключень, доступну пам'ять, використання процесора тощо - і допомагає мені визначити, коли я наближаюся до небезпечної зони , і чому.

Другий - це просто сторінка статусу сервера apache ( http: // your_server / server-status? Refresh = 10 ), яка дозволяє мені бачити стан кожного з'єднання, а також кількість вільних з'єднань, доступних у будь-який момент.


1

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

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


Я хотів би бути готовим до невеликого розгону запитів, наприклад, дуже швидка сторінка може обробляти близько 110 запитів в секунду. У той час як сервер може обробляти 2900 об / хв на порожній сторінці.
flafur Waage

0

Ви зазначаєте в коментарі, що ваш сервер може обробляти 2900 запитів в секунду на порожній сторінці. Це досить сильно вказує, що це не сам веб-сервер - це обробка.

Якщо ви використовуєте PHP, розгляньте інструмент кешування опкодів, наприклад, APC . Якщо БД є вузьким місцем, вам також допоможе запам'ятована пам'ять .


Не особливо переживайте за цифри, якщо достатньо 70 об / хв.
flafur Waage

0

Після того, як ви розмістите ваш сайт в прямому ефірі, ви також можете подивитися на mod_top 1, який дасть вам уявлення про Apache в режимі реального часу Я сам його не встановив, але, мабуть, здається, що в ньому є більше інформації та краща розбивка навантаження, ніж стандартний статус сервера Apache.

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