Аналіз завантаження мережі
Аналіз завантаження мережі, Всього байт / сек (Bytes total / sec), застосування Мережевого монітора (Network Monitor)
Остання фізична підсистема сервера, моніторинг якої має сенс виробляти, - мережева підсистема. Як правило, користувачі підключаються до SQL Server по мережі.
Зазвичай якісь проблеми з продуктивністю роботи мережі, викликані саме роботою SQL Server. виникають рідко. Як правило, мережу набагато активніше завантажується іншими додатками (наприклад, додатками на основі настільних баз даних - FoxPro. Access. Clipper. Paradox і т. П.).
На підприємствах часто зустрічаються ситуації, коли за роботу мережі відповідає одна людина (або підрозділ), а за роботу програми, що використовує SQL Server. - інший. І домовитися їм часто буває складно. Розглянемо можливості моніторингу завантаженості мережі з точки зору адміністратора SQL Server.
Проблеми з продуктивністю роботи мережі можуть зустрітися в двох варіантах. Перший варіант - не вистачає продуктивності конкретного мережевого адаптера, встановленого на сервері. Щоб перевірити це, можна скористатися лічильником Всього байт / сек (Bytes total / sec) для об'єкта Мережевий інтерфейс (Network Interface) (вибравши потрібний мережний інтерфейс зі списку). Значення цього лічильника пропонується порівнювати з паспортними значенням для даного мережевого інтерфейсу. Якщо мережевий інтерфейс дійсно працює на межі своїх можливостей, то його можна замінити на спеціальний серверний мультипортових адаптер.
Набагато частіше виникає інша ситуація - коли проблема не в мережевому інтерфейсі, а в загальному рівні завантаження мережі. У цьому випадку робота клієнтів з SQL Server може серйозно сповільнитися. Можуть відбуватися тайм-аути при установці з'єднань, розриви вже встановлених з'єднань і т. П. Як відстежити загальний рівень завантаження мережі і в разі необхідності надати докази адміністратора?
Після установки запуску Мережевого монітора вам потрібно вибрати мережевий адаптер, який буде використовуватися для перехоплення пакетів в мережі. Потім потрібно буде в меню Захоплення (Capture) вибрати команду Старт (Start), щоб розпочати захоплення даних. Інформація про завантаження мережі (% завантаження мережі) буде представлена як в графічному, так і в цифровому вигляді (в правій частині екрана).
Відзначимо, що для звичайної мережі на хабах (без застосування світчей) граничне значення цього лічильника, згідно Microsoft. складає всього 40%. Перевищення цього значення веде до прогресуючого зменшення продуктивності (чим більше навантаження, тим більше колізій і повторів передачі даних, а відповідно знову відбувається збільшення навантаження, і так по наростаючій).
У реальній роботі часто виникають ситуації, коли продуктивність роботи мережі обмежена через об'єктивні причини. Наприклад, користувачі підключаються до SQL Server з філій по низькошвидкісних каналах зв'язку. Іноді потрібно забезпечити можливість підключення користувачів через брандмауер, за налаштування якого відповідальні інші адміністратори. І в тому і в іншому випадку має сенс подумати про два варіанти вирішення:
q використовувати додаток з Web-інтерфейс;
q використовувати термінальний доступ за допомогою Microsoft Terminal Services або Citrix MetaFrame.
Перший варіант вимагає наявності спеціальної Web -версії клієнтського додатка, яка є далеко не завжди (а самостійно створити її буває складно, особливо з огляду на те, що докладної інформації про структуру бази даних у вашому розпорядженні може і не бути). Зате другий варіант можна використовувати в більшості ситуацій. При цьому користувачі працюють зі звичайним варіантом клієнтського додатка, але фізично воно запускається не на їхньому комп'ютері, а на спеціальному сервері. З клієнтської робочої станції на термінальний сервер передаються тільки натискання клавіш і клацання мишею, а з сервера на робочу станцію - зміни в екрані. Переваг у такого рішення - безліч:
q термінальні рішення вимагають мінімального трафіку в мережі і зазвичай нормально працюють навіть по модемним комутованих з'єднань;
q в разі розриву з'єднання користувач може заново підключитися до свого сеансу та продовжити роботу з того ж місця;
q на клієнтський комп'ютер не потрібно встановлювати ніяких клієнтських додатків (крім клієнта термінального сервера). Це добре і з точки зору безпеки, і з точки зору зниження навантаження на адміністратора;
q на клієнтському комп'ютері може бути встановлена практично будь-яка операційна система (при використанні Citrix MetaFrame. в тому числі і DOS. і Unix). Вимоги до системних ресурсів комп'ютера також мінімальні;
q трафік Citrix MetaFrame і Microsoft Terminal Server автоматично шифрується (на відміну від трафіку роботи звичайних клієнтів з SQL Server. які підключаються, наприклад, по OLE DB або ODBC);
q якщо мережеве з'єднання захищено брандмауером, то відкрити доступ для термінальних з'єднань зазвичай простіше, ніж для підключення звичайних додатків до SQL Server.
Недоліків у термінальних рішень не так багато: потрібні ліцензії на термінальний сервер; потрібен додатковий сервер (досить потужний, якщо він буде обслуговувати велику кількість користувачів); деякі спеціальним чином захищені (наприклад, ключами HASP) або дуже ресурсомісткі програми можуть не працювати на термінальному сервері. Однак в даний час популярність термінальних рішень зростає дуже швидко (наприклад, для клієнт-серверної версії 1С), і пам'ятати про таку можливість безперечно варто.
Інші варіанти підвищення продуктивності мережевої підсистеми при роботі з SQL Server зазвичай включають в себе використання світчей замість хабів, оновлення мережевої інфраструктури (з 10 Мбіт до 100, з 100 Мбіт - до 1 Гбіт і т. П.), А також виділення клієнтів разом з SQL Server в окремий сегмент мережі.