Как увеличить производительность сервера windows

Обновлено: 28.06.2024

Для увеличения производительности сервера можно использовать несколько способов, но самым лучшим является оптимизация.

Оптимизация операционной системы (FreeBSD)

Оптимизация фронтэнда (nginx)

Этот вид можно отнести в преждевременной оптимизации, хотя он поможет увеличить общий response time сайта. Среди стандартных оптимизаций стоит обратить внимание на reset_timedout_connection; sendfile; tcp_nopush и tcp_nodelay.

Оптимизация бэкэнда

  • APC – это фреймворк, который позволяет уменьшить нагрузку благодаря кешированию скомпилированного кода в ОП. APC locking стоит обновить, так как он может тормозить и вместо APC многие начинают применять eAccelerator. Стоит произвести замену locking на spinlock или pthread mutex. Значение APC hints стоит поднимать при огромном количестве .php файлов или при частом кешировании в APC user cache. APC fragmentation является признаком того, что вы применяете APC не по назначению. Он не может самостоятельно заниматься удалением записей по TTL или LRU.
  • PHP 5.3 поможет увеличить прирост производительности, поэтому стоит обновить версию PHP, хотя список deprecated функций может напугать многих.

Оптимизация базы данных

Существует несколько способов оптимизации MySQL, причём даже без изменений кодов, ведь половину тюнинга сервера можно осуществлять в полуавтоматическом режиме с помощью утилит tuningprimer, mysqltuner и mysqlsla.

Система Postgres является достаточно разносторонней, ведь она относится к классу Enterprise и на ней прекрасно работает Skype, но в то же время её можно установить даже на мобильный телефон. Среди доступных 200 параметров, 45 из них являются основными и отвечают за тюнинг.

В интернете можно найти много полезной информации по тюнингу Postgres. Но некоторые статьи уже устарели, поэтому следует отталкиваться от даты публикации и обращать внимание на ту информацию, где используется ключ vacuum_mem, или в новых версиях maintenance_mem. Продвинутые программисты смогут найти много качественных трактатов, далее мы перечислим только те основы, которые помогут обычному пользователю улучшить свой проект.

Разгрузка базы данных

Для оптимизации работы базы данных и увеличения её производительности следует как можно меньше её использовать.

Дополнительные приложения для проведения оптимизации

Эта статья актуальна для Windows Server 2019 в качестве сервера и Windows 10 в качестве клиента RDP. В статье мы рассмотрим шаги, которые следует предпринять для достижения максимальной производительности терминальных сессий RDP в Windows Server.

1. Коротко об основном

В Windows 10 вместе с стандартным клиентом удаленного стола (MSTSC), появился новый клиент для осуществления удаленных подключений Remote Desktop (MSRDC) client, проинсталлировать который можно из магазина Microsoft Windows 10.

Отметим, что изначально MSRDC поддерживал удаленные подключения с Windows Virtual Desktop (VDI). На данный момент существуют клиенты для Windows Desktop, Android, iOS, macOS.

Можно сравнить два типа клиентов для удаленных подключений – MSTSC и MSRDC.

Тестирование проводилось на виртуальных машинах с Windows Server 2019 и Windows 10.

В качестве теста копировался файл с клиента на сервер. По итогу тестирования имеем такие результаты – копирование с помощью MSTSC:



Для сравнения – скриншоты процесса копирования файла с помощью MSRDC:



Как видим, файл копируется быстрее с помощью mstsc, но при этом mstsc создает значительно более высокую нагрузку на сеть и ЦП, занимая практически все доступные ресурсы. При этом использование нового клиента MSRDC выглядит более предпочтительным, т.к. при большом количестве одновременных подключений будет создавать более пологий график нагрузки на системные ресурсы, чем MSTSC.

С другой стороны, хочется отметить «сырость» нового клиента для удаленных подключений. К примеру, копирование файлов с сервера на клиент попросту не работает. При этом оба клиента используют протокол TCP для подключения к серверу.

2. Сжатие передачи данных при подключении к серверу

Для клиентов RDP можно настроить сжатие передачи данных при подключении к серверу.

Для этого на сервере необходимо открыть объект локально групповой политики и изменить значение:

Конфигурация компьютера → Административные шаблоны → компоненты Windows→ Службы удаленных рабочих столов → Удаленный рабочий стол узле сеансов → Среда удаленного сеанса → Настроить сжатие для данных RemoteFX.

Есть возможность оптимизировать работу сервера за счет оптимизацию работы памяти, пропускной способности сети, баланс памяти и пропускной способности сети, либо отключить механизм сжатия.

Для эксперимента попробуем оптимизировать работу за счет оптимизации работы пропускной способности сети.

Меняем параметр и перезагружаем сервер:


Смотрим, что получилось для MSTSC:


Как видим – ничего не поменялось. Это потому, что данный механизм будет заметен только на большом количестве подключений. Тогда-то мы и увидим уменьшение потребления пропускной способности сети.

3. Отключение перенаправленных устройств

Настройка с помощью GPO находится в:

Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удаленных рабочих столов → Удаленный узел сеансов рабочего стола → Перенаправление устройств и ресурсов.

Здесь можно включить или отключить параметры перенаправления для клиентских устройств. В том числе – видеозахват, воспроизведение и запись звука, буфер обмена, перенаправление com портов, перенаправление LPT-портов, локальных дисков, самонастраивающихся устройств, устройств чтения смарт карт и перенаправления часового пояса.

Чем больше перенаправленных устройств используется, тем больше пропускной способности сети сервера они поглощают.

Перенаправленные принтеры и устройства Plug & Play потребляют ресурсы процессора также при входе в сеанс RDP.

Перенаправление звука создает устойчивый сетевой трафик. Приложения, использующие перенаправление звука, могут потреблять значительные ресурсы процессора.

4. Параметры интерфейса клиента

  • Отключить фоновый рисунок, это значительно снизит потребление пропускной способности сети.
  • Кеш точечных рисунков необходимо всегда включать, т.к. в этом случае создается клиентский кэш растровых изображений, отображаемых в сеансе, что значительно снижает использование пропускной способности.
  • Имеет смысл выключать отображение содержимого окон при перетаскивании, т.к. это снижает нагрузку на сеть за счет отображения только рамки окна вместо всего содержимого.
  • Точно так же стоит отключать анимацию меню и окон, поскольку она увеличивает нагрузку на сетевую подсистему
  • ClearType нужно включать для систем более ранних, чем Windows 7 и Windows 2008 R2
  • Стили оформления – параметр, актуальный для систем Windows 7 и более ранних. Если параметр отключен, пропускная способность снижается за счет упрощения чертежей, использующих классическую тему.
  • Серьезно влияет на загрузку ЦП и пропускной способности сети и разрешение экрана, с которым клиент подключается к серверу.
  • Корпорация Microsoft рекомендует оставлять параметры подключения клиента в автоматическом режиме, но есть смысл попробовать выставить параметры вручную.

Например, если вы выставите на клиенте настройку «Подключаться со скоростью модем 56 Кбит/с – это отключит множество визуальных эффектов и значительно ускорит работу сервера в контексте подключения большого числа клиентов RDP.


Что же делать и как это победить, и так по порядку:

Клиенты очень медленно работают с серверной версией 1С

Кроме медленной работы 1С, так же наблюдается медленная работа с сетевыми файлами. Проблема встречается при обычной работе и при RDP

netsh int tcp set global autotuning=disabled

netsh int tcp set global autotuninglevel=disabled

netsh int tcp set global rss=disabled chimney=disabled

и сеть работает без проблем

иногда оптимальным является:

netsh interface tcp set global autotuning= HighlyRestricted

вот как выглядит установка


Далее посмотрите настройки брандмауэра Windows

Настроить брандмауэр Антивируса или Windows

Как настроить брандмауэр Антивируса или Windows для работы сервера 1С (связка из Сервера 1С: Предприятие и MS SQL 2008, например).

Настройка производительности Сервера / Компьютера

Для того чтобы компьютер работал с максимальной производительностью - нужно настроить его на это:

1. Настройки BIOS

  • В BIOS сервера отключаем все настройки по экономии электропитания процессора.
  • Если есть «C1E» & обязательно ОТКЛЮЧАЕМ!!
  • Для некоторых не очень параллельных задач также рекомендуется выключить гипертрейдинг в биосе
  • В некоторых случаях (особенно для HP!) надо зайти в BIOS сервера, и ВЫКЛЮЧИТЬ там пункты, в названии которых есть EIST, Intel SpeedStep и C1E.
  • Взамен надо там же найти пункты, связанные с процессором, в названии которых есть Turbo Boost, и ВКЛЮЧИТЬ их.
  • Если в биосе есть общее указание режима энергосбережения & включить его в режим максимальной производительности (он ещё может называться «агрессивный»)


2. Настройки схемы в операционной системе - Высокая производительность


Сервера с архитектурой Intel Sandy Bridge умеют динамически менять частоты процессора.

Скачайте утилиту PowerSchemeEd.7z , распакуйте с помощь 7zip и запустите PowerSchemeEd.exe

Выберите раздел Управление питанием процессора и выставите параметры 01. Порог при питании от сети 30% и отключите 27. Переопределение ядра. как на картинке.


3. На серверах 1С и MS SQL Server использование антивирусов (даже сам факт инсталяции без включения) будет приводить к снижению производительности в виде периодических массовых замедлений и подвисаний интерфейса.

4. Совмещение ролей сервера 1С и сервера MS SQL Server дает большую производительность, особенно если использовать протокол обмена данных напрямую через память «Shared Memory».

Очень многие не недооценивают важность настройки сервера, когда роли сервера 1С и сервера СУБД совмещены на одном физическом компьютере.

Убедиться, что к примеру используется протокол Shared Memory можно следующим образом:


Обратите внимание, что в версиях платформы некоторые релизы «переключались» на протокол «именнованых каналов».

Для работы 1С Предприятие в режиме Shared Memory с SQL Server 2012 должен быть установлен NativeClient от SQL Server 2008 (backward compatibility connectivity components из дистрибутива SQL Server 2012 или отдельный пакет)

5. Отключение ненужных служб Виндовс

Одним из самых действенных способов ускорения компьютера является отключение неиспользуемых (ненужных) служб операционной системы. У ОС Windows по умолчанию включено огромное количество служб, на работу которых требуется большое количество ресурсов системы. Многие из них можно отключить без потери функциональности и снижения безопасности системы.

Какие службы можно отключить для оптимизации Windows:

Список, конечно, получился не особо емким, на самом деле служб, которые можно отключить, намного больше. Кроме того, среди стандартных служб появятся дополнительные службы сторонних программ, которые установлены на Вашем ПК, их также можно отключить.

Кэширование записей на дисках в Windows

Кэшированием записей на устройстве хранения называется использование высокоскоростной энергозависимой памяти для накопления команд записи, отправляемых на устройства хранения данных, и их кэширования до тех пор, пока их не обработает более медленный носитель (либо физические диски, либо недорогая флэш-память). Для большинства устройств, использующих кэширование записей, требуется непрерывная подача электропитания.

Для управления кэшированием записей на диске откройте Панель управления - Диспетчер устройств.

В разделе Дисковые устройства дважды щелкните нужный диск.

Быстрая оптимизация веб сервера Apache | Хостинг-провайдер Well-Web

оптимизация настроек apache

Как увеличить производительность сервера на ОС CentOS. Часть третья : Быстрая оптимизация настроек веб сервера.

Материал ориентирован на пользователей с небольшим багажом знаний в области администрирования, мы рассмотрим самые простые, и в тоже время действенные, способы повышения производительности сервера. В этой статье мы не станем рассказывать о предназначении веб сервера и описывать все его настройки, затронем лишь самые необходимые моменты. Статья актуальна для любой панели управления, поэтому разделения на панели делать не будем.

Оптимально работать с сервером по SSH, но если Вы испытываете сложности в работе с SSH - можете открывать файлы через менеджер файлов панели управления. (Инструкция по работе с SSH в первой части этой статьи)

Конфигурационный файл веб сервера Apache находится по следующему пути :

В этом файле обязательно нужно настроить ограничения по количеству одновременно запущенных процессов веб сервера. Для этого найдите в нем строку MaxClients , блок должен выглядеть примерно так:

StartServers 5
MinSpareServers 5
MaxSpareServers 20
MaxClients 256
MaxRequestsPerChild 0

Maxclients необходимо высчитать, опираясь на количество оперативной памяти, установленной на Вашем сервере. Также следует учесть количество памяти, используемой одним процессом веб сервера. Узнать количество потребляемой памяти одним процессом веб сервера можете с помощью утилиты top , инструкция по использованию в нашей базе знаний.

Далее отсчитайте 2\3 от общего количества оперативной памяти Вашего сервера и разделите на количество памяти, потребляемой одним процессом веб сервера. Полученное число и будет оптимальное значение MaxClients.

Например, имеем сервер с 8 Гб оперативной памяти. 2\3 от 8 будет 5.3 Гб. Один процесс веб сервера обычно потребляет около 40 Мб памяти. Считаем 5300мб \ 40мб , получаем 132. Лучше округлять в меньшую сторону. Оставляем значение 130, в итоге блок конфигурационного файла должен иметь такой вид:

StartServers 5
MinSpareServers 5
MaxSpareServers 20
MaxClients 130
MaxRequestsPerChild 0

Также включите KeepAlive, для этого найдите в конфигурационном файле строку :

Измените Off на On :

После внесения изменений перезагрузите веб сервер командой :

Оптимизация настроек веб сервера Nginx.

Конфигурационный файл веб сервера Nginx находится по следующему пути :

В нем необходимо настроить количество процессов Nginx. Обычно данная настройка зависит от количества ядер процессора, которые доступны для Вашего сервера. За это отвечает директива worker_processes, в конфигурационном файле это выглядит так:

user apache;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes 4;

Как видите, количество процессов Nginx настроено для 4х ядер процессора. Если Ваш сервер обрабатывает очень много соединений, можете увеличить это значение на половину, если установить большее значение - это будет в убыток производительности.

worker_rlimit_nofile 65536;
events use epoll;
worker_connections 65536;
>

Это увеличит ограничения для Nginx по количеству обрабатываемых файлов и улучшит его работу. Если в Вашем конфигурационном файле уже прописаны worker_rlimit_nofile или worker_connections - удалите их, оставьте только блок, как на образце.

В итоге начало конф-го файла должно выглядеть таким образом:

user apache;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_processes 4;
worker_rlimit_nofile 80000;
events use epoll;
worker_connections 65536;
>
http include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;

И так далее. Если на сервере наблюдается повышенная нагрузка на диск - отключите лог доступа, за это отвечает настройка access_log, установите ее значение таким:

(Просмотреть нагрузку на диск можете с помощью утилиты top)

gzip on;
gzip_comp_level 5;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_disable "msie6";

use epoll;
worker_connections 65536;
>
http gzip on;
gzip_comp_level 5;
gzip_min_length 10240;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
gzip_disable "msie6";
include /etc/nginx/mime.types;
default_type application/octet-stream;

Если ниже в коде встречаются настройки Gzip - удалите их.

После завершения настройки, выполните перезагрузку Nginx командой:

service nginx restart

С предыдущими материалами по оптимизации настроек сервера можете ознакомиться по ссылкам:

Если у Вас возникнут трудности в настройке и администрировании сервера - всегда можете обратиться в нашу службу технической поддержки.

Читайте также: