Тонка настройка Windows
Перед тим, як внести будь-які зміни для підвищення продуктивності, рекомендується виміряти поточні показники продуктивності. Незалежно від обраного критерію - швидкість транзакції, час відповіді, максимальне число одночасно працюючих користувачів - необхідно виміряти його до і після внесення змін, щоб знати, допомогла чи ні настройка параметра підвищити продуктивність.
TcpTimedWaitDelay
Значення TcpTimedWaitDelay визначає час, який повинен пройти, перш ніж TCP / IP зможе звільнити завершене з'єднання і повторно використовувати його ресурси. Цей інтервал між завершенням і звільненням з'єднання називається станом TIME_WAIT або станом подвійного максимального терміну життя сегмента (2MSL). Протягом цього періоду часу повторно відкрити з'єднання з клієнтом і сервером легше, ніж встановити нове з'єднання. При зменшення значення цього параметра TCP / IP може швидше вивільняти завершення з'єднання і надавати більше ресурсів для нових з'єднань. Налаштуйте цей параметр якщо виконується додатку потрібно швидке вивільнення, створення нових з'єднань або настройка в зв'язку з низькою продуктивністю, викликаної наявністю декількох з'єднань в стані TIME_WAIT.
Заводський параметр 0xF0, що задає час очікування рівним 240 секундам (4 хвилинах).
MaxUserPort
Значення MaxUserPort визначає максимальний номер порту, який може бути присвоєно TCP / IP коли додаток запитує у системи доступний для користувача порт. Якщо в системі виникне виняткова ситуація Помилка налаштування сокета. її причиною може бути неадекватне число анонімних (ефемерних) портів, особливо якщо ваша система має велике число відкритих портів для встановлення з'єднань з Web-службами, базою даних та іншими віддаленими ресурсами.
За замовчуванням Windows резервує для анонімних (ефемерних) портів номера від 1024 до 5000
Функція динамічних резервів (Dynamic Backlog)
Динамічні значення резервів дозволяють системі автоматично налаштовувати конфігурацію для обробки можливих стрибків числа запитів на установку з'єднання. При одночасному отриманні кількох запитів, підтримка динамічних резервів збільшить число очікують з'єднань, які можуть бути підтримані, що призведе до зниження збоїв з'єднань.
За замовчуванням в Windows функція динамічних резервів відключена.
- Запустіть команду regedit, перейдіть до підрозділу реєстру HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ AFD \ Parameters і створіть або задайте нові значення REG_DWORD з наступними іменами і значеннями. "EnableDynamicBacklog" = dword: 00000001
"MinimumDynamicBacklog" = dword: 00000020
"MaximumDynamicBacklog" = dword: 00001000
"DynamicBacklogGrowthDelta" = dword: 00000010
Ці значення включають підтримку динамічних резервів із забезпеченням мінімум 20 і максимум 1000 доступних з'єднань. Число доступних з'єднань збільшується на 10 кожен раз, коли число доступних з'єднань падає нижче мінімального.
KeepAliveTime
Значення KeepAliveTime контролює, як часто пристрій TCP / IP перевірити стан простоює з'єднання. Якщо за вказаний час діяльність відсутня, буде відправлений контрольний пакет. Якщо мережу в порядку і партнер активний, то він відправить відповідь. Якщо вам потрібно більше оперативно дізнаватися про втрату партнера, зменшіть це значення. Якщо простоюють з'єднання з тривалими періодами бездіяльності є звичайним явищем і втрата партнера відбувається нечасто, можна збільшити це значення для зниження додаткового навантаження.
За замовчуванням Windows відправляє контрольний пакет за відсутності активності в простоює з'єднанні довше, ніж 7 200 000 мілісекунд (2 години). Найчастіше більш привабливим є значення 1 800 000 мілісекунд, що дозволяє виявляти половину закритих з'єднань за 30 хвилин.
KeepAliveInterval
Значення KeepAliveInterval визначає частоту відправки TCP / IP контрольних пакетів при відсутності відповіді на них від партнера. З'єднання буде розірвано після того, як число послідовно відправлених контрольних пакетів, що залишилися без відповіді, перевищить значення TcpMaxDataRetransmissions. Якщо час очікування відповіді є досить великим, слід збільшити це значення для зниження додаткового навантаження. Якщо вам потрібно знизити час, витрачений на перевірку втрати партнера, зменшіть це значення або значення TcpMaxDataRetransmissions.
За замовчуванням Windows чекає отримання відповіді на відправлений контрольний пакет 1000 мілісекунд (1 секунду) перед його повторної відправкою.
TcpMaxDataRetranmission
Значення TcpMaxDataRetranmission визначає число повторних відправлень TCP / IP непідтвердженого сегмента даних по наявному з'єднанню. Якщо надійність мережі низька, рекомендується збільшити це значення для підвищення ефективності з'єднань. Якщо якість мережі високо і втрата даних зазвичай викликана втратою партнера, має сенс зменшити час перевірки втрати партнера.
За замовчуванням Windows повторює відправку непідтвердженого сегмента даних 5 разів.
TcpAckFrequency
Значення TcpAckFrequency визначає частоту відправки TCP / IP підтверджує повідомлення.
- Якщо значення дорівнює 2, TCP / IP буде відправляти підтвердження після 2 прийнятих сегментів або після прийняття 1 сегмента і відсутності другого сегмента протягом 200 мілісекунд.
- Якщо значення дорівнює 3, TCP / IP відправляє підтвердження після прийому 3 сегментів, або після прийому 1 або 2 сегментів і відсутності подальших сегментів протягом 200 мілісекунд.
- І так далі.
Якщо вам потрібно скоротити час відповіді за рахунок видалення затримок відправки підтверджень TCP / IP, задайте це значення рівним 1. В такому випадку TCP / IP буде негайно відправляти підтвердження для кожного сегмента. Якщо ваші з'єднання використовуються в основному для передачі великих обсягів даних і затримка в 200 мілісекунд несуттєва, має сенс збільшити це значення для зниження додаткового навантаження відправки підтверджень.
За замовчуванням Windows використовує значення 2 (підтвердження кожного другого сегмента). Діапазон допустимих значень знаходиться в межах від 0 до 255, де 0 вказує на значення за замовчуванням (2).
Підтримка великих сторінок
Використання підтримки великих сторінок для управління віртуальним сховищем може знизити додаткове навантаження на процесів, що виникає в зв'язку з керуванням великою купою в віртуальній машині Java. За замовчуванням Windows використовує підтримку великих сторінок, але для її використання слід вказати опцію -Xlp JVM при запуску віртуальної машини.