Як покращити Windows Server 2008 R2 для обробки багатьох підключень?


9

Минуло кілька днів, і я намагаюся зрозуміти, як вирішити цю проблему. Перш за все, я запускаю веб-сайт із середньодобовим переглядом сторінки 350 000. Раніше всі керування оголошеннями (відстеження натискань та показів, що відображалася кожна реклама) та вміст подавались на одному сервері із такою специфікацією:

Сервер 1
ОС: 64-розрядна версія Windows 2008 R2
Процесор: Intel® Core ™ i5 - 4 ядра
ОЗУ: 8 ГБ
Зберігання: 2 х 1 ТБ жорстких дисків
Пропускна здатність: 10 ТБ на місяць

Щоб покращити швидкість нашого веб-сайту, я вирішив розділити сценарій управління рекламою на інший спеціалізований сервер, оскільки на кожній сторінці у нас більше 15 рекламодавців - 30 рекламодавців.

Сервер 2
ОС: 64-розрядна версія Windows 2008 R2
Процесор: Intel® Core ™ i5 - 4 ядра
ОЗУ: 4 Гб
Зберігання: жорсткі диски 2 х 300 ГБ
Пропускна здатність: 10 ТБ на місяць

Проблема
Проблема полягає в тому, що Server 1може обробляти як контент, так і систему оголошень. Тепер я знімаю рекламну систему і розміщую її Server 2. Server 2ледве може обслуговувати лише рекламну систему.

Тест

  • Перш за все, я перемістив 75% оголошень на Server 2. А потім, виконати пінг на сервер: ping -t xxxxx. [Я робив пінг протягом 10 хвилин і його наступний зразок, як показано нижче]
Відповідь з xxxxx байтів = 32 час = 290 мс TTL = 116
Відповідь з xxxxx байтів = 32 час = 289 мс TTL = 116
Відповідь з xxxxx байтів = 32 час = 320 мс TTL = 116
Відповідь з xxxxx байтів = 32 час = 286 мс TTL = 116
Відповідь з xxxxx байтів = 32 час = 286 мс TTL = 116
Відповідь з xxxxx байтів = 32 час = 348ms TTL = 116
Відповідь з xxxxx байтів = 32 час = 284ms TTL = 116
  • Потім я перемістив на 100% рекламу Server 2. Потім знову виконайте пінг на сервері. [Я робив пінг протягом 10 хвилин і його наступний зразок, як показано нижче]
Відповідь з xxxxx байтів = 32 час = 290 мс TTL = 116
Час запиту вичерпано
Відповідь з xxxxx байтів = 32 час = 320 мс TTL = 116
Відповідь з xxxxx байтів = 32 час = 286 мс TTL = 116
Час запиту вичерпано
Час запиту вичерпано
Відповідь з xxxxx байтів = 32 час = 284ms TTL = 116

Спроби

  1. Збільшення MaxUserPortіTcpNumConnection
  2. Перезавантажте сервер
  3. Збільшення IIS Max InstancesтаInstance MaxRequests

Серверний ресурс

  • Використовується лише 10% -15% мережевого з'єднання
  • Використовується лише 10% -15% процесора
  • Використовується лише 25% пам'яті

3
На мою думку, це добре сформоване питання і гідне оновлення, але я все ще відчуваю, що ми пропускаємо деякі підказки, щоб допомогти нам вирішити загадку.
Райан Різ

@RyanRies, будь ласка, дайте вказівник, яка відсутні інформація, необхідна для вирішення цієї загадки. На даний момент у мене 75% оголошень на сервері 2 і 25% оголошень на сервері 1. Зараз він працює досить добре, але я не можу повністю перейти на сервер 2.
Monkey D Luffy

1
Я погоджуюся з @RyanRies: нам щось не вистачає. Я хотів би розглянути спосіб побудови системи розміщення реклами: можливо, що між вмістом та послугами розміщення реклами існує залежність, що спричиняє надмірну затримку.
Стефан

@Stephane немає, це не повинно викликати втрачені пінгви. Пінг не обробляється кодом розміщення реклами, а безпосередньо стеком TCP. Що в основному означає, що вони повинні працювати, якщо Сервер CRAZILY не перевантажений. Це серйозно виглядає - на мою відповідь - як би пропускної здатності просто немає. Перед сервером.
TomTom

Деякі речі, яких тут бракує, - це 1) що можна змінити / не змінити у своєму оточенні? 2) як конфігуруються диски веб-серверів? 3) чи є внутрішні часи мережі там, де ви перебуваєте, чи це віддалений сервер? Якщо це віддалений сервер, наскільки далеко це? 4) якщо вам потрібно покращити рівень вашої суті, яка ваша бюджетна свобода додавати обладнання до суміші через дошку 5) чи журнали подій викидають якісь помилки? 6) Я не бачу результатів парфумових захоплень у розпал трафіку 7) які ваші унікальні номери відвідувачів? 8) Ви відфільтрували трафік?
Течі Джо

Відповіді:


4

Ну, почнемо. Це довше.

Ви повністю помилково оцінювали факти, як це виглядає. Windows - навіть застарілий 2008 R2, який слід оновити як можна швидше - цілком здатний обробляти об'єм, з яким мобільний телефон не має проблем з обробкою.

Отже, це залишає 3 можливі сфери питань:

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

  • Мережа. Це серйозно виглядає як "Моя машина занадто повільна, будь ласка, допоможіть мені зробити її швидше", коли проблема полягає в тому, що ви проводите більшу частину часу в пробці та скаргах на рух транспорту. Не проблема з тюнінгу автомобілів. 10tb трафіку нічого не говорять про перевантаженість мережі. Перегляньте статистику вашого мережевого трафіку на своєму NIC, а потім реагуйте відповідно - якщо вони не перевищують швидкість, якою вони повинні бути .... ваш постачальник перепродав. Просто так.

  • Код. Можливо, вам знадобиться більше оперативної пам’яті (комп'ютер зайнятий заміною оперативної пам’яті замість обробки) або шалене кодування використовує весь ваш процесор до такої міри, що змушує TCP-стек рівня ядра не реагувати належним чином (так, відповіді ICMP такі низькі). Це було б жорстоко - але це ще одна дорога для перевірки. Можливо також, що ви перевантажуєте диски, отримуючи доступ до них занадто часто, а не кешуючи оперативну пам’ять, але я якось не бачу, що це призводить до втрачених пінгів. Будь-яка проблема тут не є чимось, з чим адміністратор може впоратися, - вам доведеться кинути на нього обладнання, або взяти палицю і вдарити програміста, поки він не виправить це (якщо це "дурна" помилка рівня, яка з'їдає продуктивність - якщо це не так, то набагато складніше заробити серйозні вигоди, і це може бути просто вашим необхідним обладнанням.

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

Тепер усі цифри, які ви даєте, нічого серйозно не говорять.

  • Використовується 10-15% процесора.
  • 25% пам'яті, ймовірно, є хорошим показником, зараз відбувається обмін, але це все ще може означати, що процесор чекає IO.
  • 10% -15% використовується мережа - абсолютно нічого, тому що це лише ВАША сторона мережі. А як щодо верхів'я? Що робити, якщо провайдер ставить 20 серверів з 1 гігабітом на 1 гігабітну висхідну лінію зі стійки, і це переповнюється як пекло?

Останній пункт цілком вірогідний - скинуті пакети - хороший показник цього. І це вам не буде видно

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

Все, що ви робили до цього часу - maxuserport, tcpnumconnection, перезапуск сервера, пограння з налаштуваннями IIS - повністю вимкнено і нічого не робити в найкращому місці. Стукнути молотом по повільній машині ніколи нічого не виправляє - особливо якщо машина повільна, оскільки стоїть у пробці. Я б скасував усі зміни і почав би аналізувати проблему не лише вашого сервера. Я б зробив ставку на перевантаження мережі.


3
even the outdated 2008 R2 which you should update ASAP- Давай, TomTom, зчепись. 2008 R2 все ще знаходяться в рамках основної підтримки і довгий вихід з розширеної підтримки, яка є в 2020 році, я вважаю ...
Dan

4
"застарілий 2008 R2, який слід оновити як можна швидше": це невірно (2008R2 не "застаріло" і не слід оновлювати "просто тому") і не має сенсу в контексті відповіді. Решта робить мало для покращення вашої відповіді, оскільки вона не дає корисного кроку для виявлення проблеми, а тим більше її виправлення, вона просто надає загальні (і лише м'яко по темі) поради щодо ефективності.
Стефан

Насправді це тому, що здогадайтесь, що було серйозно змінено пізніше - стек IP. Масштабованість як точка. Так, так, в даному контексті це так. Оновлення мають відбуватися якнайшвидше - адже здогадайтесь, що ВИ, можливо, не покращить ваші речі з часом, як це робить більшість компаній. 2012 R2 краще, ніж R2 2008 року.
TomTom

Використовуючи speedtest.net, висхідна і низхідна лінія становить близько 100 Мбіт / с.
Мавпа D Луффі

Існує два програмні засоби для залежності рекламної системи: memcached та MySQL. Він відстежує всі враження та натискає на запам'ятоване та оновлює MySQL раз на 10 хвилин.
Monkey D Luffy

0

Чи пінг є зовнішніми для двох серверів? Якщо так, спробуйте ping з одного сервера до другого сервера. Якщо результати сильно відрізняються від пінг-файлів зовні, то це показує, що проблема може виникнути не через два сервери. Крім того, подивіться в моніторі ресурсів довжину черги диска для накопичувачів та активний час - ще трохи інформації, яка може висвітлити проблему.


Я вже пробував це. Я використовував Server 1 для ping Server 2, і пінг все ще падає, якщо я розміщую більше оголошень.
Monkey D Luffy

1
З'єднання між сервером 1 та сервером 2, це через власне обладнання? Або це перемикач данихцентру? Просто намагаюся визначити, чи під час пінгу ви перебирали апаратне забезпечення постійного струму, що могло спричинити затори. Чи є у вас щось у IIS / Windows, яке динамічно блокує запити? Немає дос-захисту, який блокує законні запити? Система, це ASP.NET, а db - MySQL?
Росс Буггінс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.