Який мінус у липких сеансах з балансирами навантаження?


13

У нас є веб-ферма машин IIS7, які чудово працюють. Перед ними - апаратний балансир навантаження F5 Big-IP , який також працює чудово :)

alt текст
(джерело: www.f5.com )

В даний час ми використовуємо ASP.NET State Serviceдля обробки нашого стану OutProc . Це потрібно, коли у вас є веб-ферма для підтримки будь-якого типу інформації про сеанси.

Мені було цікаво, чи можемо ми проводити липкі сеанси на F5 Big-IP і тому переходити з OutProc назад до InProc? Якщо так, то який мінус у цьому? Я знаю про мінус InProc проти OutProc, тому не хвилюйтеся пояснювати це. Мене більше цікавлять плюси / мінуси липких сеансів з F5 Big-IP .

Чи може хтось пролити трохи світла та / або пережити?

Відповіді:


15

Є два основні мінуси:

  1. Навантаження не розподілено рівномірно. Клейкі сеанси будуть дотримуватися, звідси і назва. Хоча початкові запити будуть розподілятися рівномірно, можливо, значна кількість користувачів витратить більше часу, ніж інші. Якщо всі вони спочатку встановлені на одному сервері, цей сервер матиме набагато більше навантаження. Як правило, це насправді не матиме величезного впливу, і його можна пом'якшити, якщо у вашому кластері є більше серверів.

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

AOL в один момент використовував проксі-кластери і справді накручували балансири навантажень і липкі сеанси. Більшість балансирів завантаження тепер пропонують липкі сеанси на основі чистого діапазону класу С або у випадку F5, липкі сеанси на основі файлів cookie, які зберігають кінцевий вузол у файлі cookie веб-запиту.

Хоча сесії на основі файлів cookie повинні працювати, у мене виникли деякі проблеми з ними, і зазвичай вибираю сеанси на основі IP-адрес. ВЕЛИКОГО ЯК: Я в основному працюю над внутрішніми додатками - пробіг DMZ може відрізнятися.

Незважаючи на те, що ми констатували, ми досягли величезного успіху на сайтах, де працює F5 з клейкими сесіями та In-Proc сесіями.

Ви також можете подивитися на одну з кешованих систем кешування, розподілену в пам'яті, як Memcached або Velocity, щоб альтернатива сеансу, що зберігається в SQL, або поза службою пам’яті Pro. Ви наближаєтесь до швидкості вбудованої пам'яті, маючи можливість запускати її на декількох серверах.


Окрім процесора, чи існують способи перевірити поточні з'єднання та / або пропускну спроможність на власному комп'ютері під керуванням Windows 2008 за допомогою IIS7 ... щоб побачити, чи не надто вдарений / зайнятий сервер? В основному, які показники ви використовуєте, щоб переконатися, що сервери не піддаються обробці?
Pure.Krome

Ми досить довго використовували суміш липких IP-сеансів і липких сеансів cookie і виявили нерівномірне розповсюдження, але це не так страшно. Кластер проксі AOL був кошмаром для кластеризації IP, і нам довелося виправляти винятки.
ericslaw

Рідні лічильники Perf покажуть активні HTTP-з'єднання.
Christopher_G_Lewis

@Christopher_G_Lewis Ви б не хотіли трохи детальніше розглянути проблеми, які виникли із сеансами cookie на F5?
Євген Бересовський


4

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

Я вважаю липкі сеанси сильним показником поганої архітектури додатків та / або поганого програмування. "Уникай будь-якою ціною" - мій девіз.


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

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

Чи можете ви DRAIN з сервера без необхідності робити будь-яку конфігурацію на самому F5? В основному ми не маємо доступу до F5 (він керується для нас, за сценарієм керованого хостингу) .. але ми маємо повний доступ до наших веб-серверів .. тож чи зможете ви ЗБУТИТИ, скинувши файл чи щось на веб-сайт?
Pure.Krome

Наш F5 визначає сервер вгору / сервер вниз / злив через текстовий файл на веб-сайті - контекст файлу "Вгору / Вниз / Зниження". Перегляньте свої журнали IIS, щоб визначити, на що вони дивляться. Зауважте, що іноді F5 просто робить SYN / ACK на порту TCP / IP, і в цьому випадку вам доведеться змусити хостера змінити конфігурацію F5.
Christopher_G_Lewis
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.