Я встановлюю стек nginx і оптимізую конфігурацію перед тим, як перейти в прямому ефірі. Запускаючи ab на стрес-тесті на машині, я був розчарований, побачивши, що на 150 запитів в секунду додається значна кількість запитів, щоб повернутись більше 1 секунди. Як не дивно, сама машина навіть не важко дихала.
Нарешті я подумав пінг-коробку і побачив пінг-пара приблизно 100-125 мс. (Машина, на мій подив, є по всій країні). Отже, здається, що затримка в мережі переважає у моєму тестуванні. Запускаю ті ж тести з машини в тій самій мережі, що і сервер (пінг-раз <1 мс), і я бачу> 5000 запитів в секунду, що більше відповідає тому, що я очікував від машини.
Але це змусило мене задуматися: як я можу визначити та повідомити про "реалістичну" міру запитів за секунду для веб-сервера? Ви завжди бачите претензії щодо продуктивності, але чи не слід враховувати затримку в мережі? Звичайно, я можу обслуговувати 5000 запитів в секунду на машині поруч із сервером, але не на машині по всій країні. Якщо у мене багато повільних зв’язків, вони з часом вплинуть на продуктивність мого сервера, правда? Або я думаю про це все неправильно?
Пробачте, якщо це мережева інженерія 101 штука. Я розробник в галузі торгівлі.
Оновлення: Відредаговано для наочності.
ab
має паралельний варіант. На що ти це встановив? Крім того, якщо ви тестуєте з внутрішнього ADSL-з'єднання, швидше за все, в тесті буде домінувати ваша пропускна здатність і взагалі нічого не буде тестувати на сервері.