Серверный сжатие усиленное что значит в 1с
Перейти к содержимому

Серверный сжатие усиленное что значит в 1с

Чек-лист по настройке инфраструктуры для повышения скорости работы 1С с MS SQL (особенно важно в облаках)

При размещении 1С в облачной инфраструктуре и среде виртуализации наиболее важными и непростыми задачами являются повышение скорости работы платформы «1С» и настройка СУБД. Для достижения максимальной производительности инфраструктуры 1С рекомендуется правильно выбирать архитектуру инфраструктуры, режимы работы, проверить и выполнить ряд важных настроек.

В зависимости от количества пользователей, размера баз данных и ограничений бюджета (с учетом стоимости дополнительных лицензий на сервер «1С:Предприятие 8» и лицензий на СУБД) платформа «1С» может работать в файловом и клиент-серверном вариантах (на основе трехуровневой архитектуры «клиент-сервер» (рис. 1): клиентское приложение, кластер серверов «1С:Предприятия 8», СУБД).

Рис. 1

Рис. 1

Как правильно выбрать вариант/режим работы 1С: файловый или SQL?

Обычно для 1-10 пользователей выбирается файловый режим

От 10 и более пользователей выбирается режим работы с использованием SQL

В файловом варианте все пользователи могут работать на одной виртуальной машине в облаке, например на терминальном сервере.

Для клиент-серверного варианта лучше выбрать не менее двух виртуальных машин:

Сервер с клиентским приложением, например терминальный сервер с клиентской частью «1С» (толстый клиент)

Сервер «1С» и СУБД (MS SQL или PostgreSQL)

Как рассчитать мощности сервера для 1С в файловом режиме работы?

В обоих вариантах: файловом и SQL, для работы с пользовательским приложением 1С в классическом режиме, например, «удаленного рабочего стола» (так называемый «толстый клиент»), необходимы следующие минимальные ресурсы виртуального сервера:

Количество виртуальных ядер CPU = 1 или 2 для ОС + 0,25 * количество пользователей

Объем памяти RAM = 1 или 2 ГБ для ОС + 0,5 ГБ * количество пользователей

Размер диска/хранилища HDD = 20-40 ГБ для ОС и приложений + (0,1-10) ГБ * количество пользователей. Для ОС и 1С рекомендуется использовать самые быстрые диски

Как рассчитать мощности сервера для 1С в варианте работы с SQL?

В клиент-серверном варианте работы 1С, в котором используется СУБД SQL, рекомендуется разместить 1С Сервер и сервер SQL на отдельном виртуальном сервере в общей с клиентским сервером локальной подсети. Необходимы следующие минимальные мощности для этого виртуального сервера:

Количество виртуальных ядер CPU = 1 или 2 для ОС + (2-4) для Cервера 1С + (2-8-16…) для СУБД SQL в зависимости от объема и количества баз данных

Объем памяти RAM = 1 или 2 ГБ для ОС + (2-4) ГБ для Cервера 1С + (2-4-8-16-32…) ГБ для СУБД SQL в зависимости от объема и количества баз данных

Размер диска/хранилища HDD = 20-40 ГБ для ОС и приложений + (10-1000) ГБ в зависимости от объема и количества баз данных. Для ОС и СУБД рекомендуется использовать самые быстрые диски
————
ОС — операционная система, например, Windows Server
Здесь Сервер 1С — ПО «сервер «1С:Предприятия 8»

Наиболее важными и непростыми задачами являются повышение продуктивности использования платформы «1С» в облаке и настройка СУБД. Типичные проблемы при развертывании и эксплуатации облачной инфраструктуры для «1С» следующие:

Неправильный выбор мощностей

Неквалифицированная настройка сервисов виртуальной инфраструктуры

Недостаточное внимание к тестированию производительности платформы «1С»

Для достижения максимальной производительности рекомендуется проверить и выполнить ряд настроек. Прежде всего необходимо исключить свопинг, для чего с помощью системы мониторинга следует обязательно удостовериться в том, что объем оперативной памяти достаточен для работы ВМ. Кроме того, файл подкачки ОС, профили пользователей, файлы баз данных, файлы логов транзакций (SQL) и tempDB (SQL) лучше разместить на дополнительных SSD-дисках, а для файла подкачки установить фиксированный размер.

На SQL-сервере необходимо выключить все ненужные службы, например FullText Search и Integration Services, установить максимально возможный объем оперативной памяти, максимальное количество потоков (Maximum Worker Threads) и повышенный приоритет сервера (Boost Priority), задать ежедневную дефрагментацию индексов и обновление статистики, настроить автоматическое увеличение файла базы данных (не менее 200 Мбайт) и файла лога (не менее 50 Мбайт), а также полную реиндексацию не реже одного раза в неделю. При размещении серверов SQL и «1С:Предприятие» на одной ВМ следует включить протокол Shared Memory.

При расчете требуемых мощностей в облаке лучше выбрать минимальные первоначальные значения без запаса, поскольку биллинг почасовой, а мощности в любой момент можно увеличить или уменьшить. Такой подход позволяет существенно экономить ресурсы и средства. Вместе с тем надо обязательно протестировать и оценить быстродействие системы, для чего можно использовать, например, бесплатные нагрузочные тесты Гилева и «1С:Корпоративный инструментальный пакет» (https://its.1c.ru/db/kip или http://v8.1c.ru/expert/etp.htm).

С помощью тестов Гилева можно быстро и достаточно легко понять, насколько эффективно работает платформа «1С», как влияют на ее производительность те или иные настройки, а также найти и устранить узкие места инфраструктуры. Для более детального анализа нагрузки и поиска узких мест рекомендуется использовать утилиту Process Explorer Марка Русиновича (https://technet.microsoft.com/en-us/sysinternals/processexplorer).

Следуя перечисленным выше рекомендациям, можно добиться увеличения быстродействия платформы «1С» в облаке в 1,5–2 раза.

Квалифицированное размещение ИТ-сервисов, в том числе «1С», на облачной платформе позволяет:

Существенно сократить расходы

Повысить уровни безопасности (доступ к данным, резервное копирование, антивирусная защита и др.) и технического обслуживания

Обеспечить централизованное администрирование и мониторинг

Организовать эффективную и безопасную удаленную работу

Воспользоваться гибкими возможностями масштабирования, лицензирования и оперативного перехода на необходимые версии конфигураций «1С»

ЧЕК-ЛИСТ ПО ОПТИМИЗАЦИИ ИНФРАСТРУКТУРЫ 1С С MS SQL

1. Включить возможность мгновенной инициализации файлов (Database instant file initialization)

Это позволяет ускорить работу таких операций как:

Создание базы данных

Добавление файлов, журналов или данных в существующую базу данных

Увеличение размера существующего файла (включая операции автоувеличения)

Восстановление базы данных или файловой группы

Для включения настройки:

На компьютере, где будет создан файл резервной копии, откройте приложение Local Security Policy (secpol.msc)

Разверните на левой панели узел Локальные политики, а затем кликните пункт Назначение прав пользователей

На правой панели дважды кликните Выполнение задач по обслуживанию томов

Нажмите кнопку «Добавить» пользователя или группу и добавьте сюда пользователя, под которым запущен сервер MS SQL Server

Нажмите кнопку Применить

2. Включить параметр «Блокировка страниц в памяти» (Lock pages in memory)

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

Для включения настройки:

В меню Пуск выберите команду Выполнить. В поле Открыть введите gpedit.msc

В консоли Редактор локальных групповых политик разверните узел Конфигурация компьютера, затем узел Конфигурация Windows

Разверните узлы Настройки безопасности и Локальные политики

Выберите папку Назначение прав пользователя

Политики будут показаны на панели подробностей

На этой панели дважды кликните параметр Блокировка страниц в памяти

В диалоговом окне Параметр локальной безопасности — блокировка страниц в памяти выберите «Добавить» пользователя или группу

В диалоговом окне Выбор: пользователи, учетные записи служб или группы добавьте ту учетную запись, под которой у вас запускается служба MS SQL Server

Чтобы изменения вступили в силу, перезагрузите сервер или зайдите под тем пользователем, под которым у вас запускается MS SQL Server

3. Включить каталоги с файлами базы данных в правила исключения для антивируса.

Если антивирус будет сканировать файлы базы, это может сильно замедлить работу СУБД.

Для опытных администраторов: антивирус на сервер СУБД лучше не устанавливать.

4. Включить каталоги с файлами базы данных в список исключений для системы автоматического копирования.

Если на сервере установлена система автоматического копирования файлов, то, когда она будет копировать файлы базы, это может привести к замедлению работы. Копии базы необходимо делать средствами самой СУБД.

5. Отключить механизм DFSS для дисков.

Механизм Dynamic Fair Share Scheduling отвечает за балансировку и распределение аппаратных ресурсов между пользователями. Иногда его работа может негативно сказываться на производительности 1С.

Чтобы отключить его только для дисков, нужно:

Найти в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk

Установить значение параметра EnableFairShare в 0

6. Отключить сжатие данных для каталогов, в которых лежат файлы базы.

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

Чтобы отключить сжатие файлов в каталоге, необходимо:

Открыть свойства каталога

На закладке Общие нажать кнопку Другие

Снять флаг «Сжимать» содержимое для экономии места на диске

7. Установить параметр «Максимальная степень параллелизма» (Max degree of parallelism) в значение 1.

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

Для настройки параметра необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства сервера и выбрать закладку Дополнительно

Установить значение параметра равное единице

8. Ограничить максимальный объем памяти сервера MS SQL Server.

Необходимо ограничить максимальный объем памяти, потребляемый MS SQL Server, особенно это критично, если роли сервера 1С и сервера СУБД совмещены. Максимальный объем памяти, рекомендуемый для MS SQL Server, можно рассчитать по следующей формуле:

Память для MS SQL Server = Память всего – Память для ОС – Память для сервера 1С

Например, на сервере установлено 64 ГБ оперативной памяти, необходимо понять, сколько памяти выделить серверу СУБД, чтобы хватило серверу 1С.

Для нормальной работы ОС в большинстве случаев более чем достаточно 4 ГБ, обычно – 2-3 ГБ.

Чтобы определить, сколько памяти требуется серверу 1С, необходимо посмотреть, сколько памяти занимают процессы кластера серверов в разгар рабочего дня. Этими процессами являются ragent, rmngr и rphost, подробно данные процессы рассматриваются в разделе, который посвящен кластеру серверов. Снимать данные нужно именно в период пиковой рабочей активности, когда в базе работает максимальное количество пользователей. Получив эти данные, необходимо прибавить к ним 1 ГБ – на случай запуска в 1С «тяжелых» операций.

Чтобы установить максимальный объем памяти, используемый MS SQL Server, необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства сервера и выбрать закладку Память

Указать значение параметра Максимальный размер памяти сервера

9. Включить флаг «Поддерживать» приоритет SQL Server (Boost SQL Server priority).

Данный флаг позволяет повысить приоритет процесса MS SQL Server над другими процессами.

Имеет смысл включать флаг только в том случае, если на компьютере с сервером СУБД не установлен сервер 1С.

Для установки флага необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства сервера и выбрать закладку Процессоры

Включить флаг «Поддерживать приоритет SQL Server (Boost SQL Server priority)» и нажать Ок

10. Установить размер авто увеличения файлов базы данных.

Автоувеличение позволяет указать величину, на которую будет увеличен размер файла базы данных, когда он будет заполнен. Если поставить слишком маленький размер авторасширения, тогда файл будет слишком часто расширяться, на что будет уходить время. Рекомендуется установить значение от 512 МБ до 5 ГБ.

Для установки размера авторасширения необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства нужной базы и выбрать закладку Файлы

Напротив каждого файла в колонке Автоувеличение поставить необходимое значение

Данная настройка будет действовать только для выбранной базы. Если вы хотите, чтобы такая настройка действовала для всех баз, нужно выполнить эти же действия для служебной базы model. После этого все вновь созданные базы будет иметь те же настройки, что и база model.

11. Разнести файлы данных mdf и файлы логов ldf на разные физические диски.

В этом случае работа с файлами может идти не последовательно, а практически параллельно, что повышает скорость работы дисковых операций. Лучше всего для этих целей подходят диски SSD.

Для переноса файлов необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства нужной базы и выбрать закладку Файлы

Запомнить имена и расположение файлов

Отсоединить базу, выбрав через контекстное меню Задачи – Отсоединить

Поставить флаг Удалить соединения и нажать Ок

Открыть Проводник и переместить файл данных и файл журнала на нужные носители

В Management Studio открыть контекстное меню сервера и выбрать пункт Присоединить базу

Нажать кнопку Добавить и указать файл mdf с нового диска

В нижнем окне сведения о базе данных в строке с файлом лога нужно указать новый путь к файлу журнала транзакций и нажать Ок

12. Вынести файлы базы TempDB на отдельный диск.

Служебная база данных TempDB используется всеми базами сервера для хранения, промежуточных расчетов, временных таблиц, версий строк при использовании RCSI и многих других вещей. Обычно обращений к этой базе очень много, и если она будет лежать на медленных дисках, это может замедлить работу системы.

Рекомендуется хранить базу TempDB на отдельном диске для повышения производительности работы системы.

Для переноса базы TempDB на отдельный диск необходимо:

Запустить Management Studio и подключиться к нужному серверу

Создать окно запроса и выполнить скрипт:

ALTER DATABASE tempdb

MODIFY FILE (NAME = tempdev, FILENAME = ‘Новый_Диск:\Новый_Каталог\tempdb.mdf’)

ALTER DATABASE tempdb

MODIFY FILE (NAME = templog, FILENAME = ‘Новый_Диск:\Новый_Каталог\templog.ldf’)

Перезапустить MS SQL Server

13. Включить Shared Memory, если сервер 1С расположен на том же компьютере, что и сервер СУБД.

Протокол Shared Memory позволит общаться приложениям через оперативную память, а не через протокол TCP/IP.

Для включения Shared Memory необходимо:

Запустить диспетчер конфигурации SQL Server

Зайти в пункт SQL Native Client – Клиентские протоколы – Общая память – Включено

Поставить значение Да и нажать Ок

Протокол Именованные каналы нужно выключить аналогичным образом

14. Перезапустить службу MS SQL Server

Внимание! Когда все настройки выполнены, необходимо перезапустить службу MS SQL Server

Очевидные советы по ускорению работы 1С (8.2, 8.3)

Основная цель написания статьи — чтобы не повторять очевидные нюансы тем администраторам (и программистам), которые еще не набрали опыта с 1С.

Вторичная цель, если у меня будут какие-то недочеты, — на Инфостарте мне это укажут быстрее всего.

Неким стандартом «де факто» уже стал тест В. Гилева. Автор на своем сайте дал вполне понятные рекомендации, я же просто приведу некоторые результаты, и прокомментирую наиболее вероятные ошибки. Естественно, что результаты тестирования на Вашем оборудовании могут отличаться, это просто для ориентира, что должно быть и к чему можно стремиться. Сразу хочу отметить, что изменения надо делать пошагово, и после каждого шага проверять, какой результат это дало.

На Инфостарте подобные статьи есть, в соответствующих разделх буду ставить на них ссылки (если пропущу что-то — просьба подсказать в комментариях, добавлю). Итак, предположим у вас тормозит 1С. Как диагностировать проблему, и как понять кто виноват, администратор или программист?

Тестируемый компьютер, основной подопытный кролик: HP DL180G6, в комплектации 2*Xeon 5650, 32 Gb, Intel 362i , Win 2008 r2. Для сравнения, сопоставимые результаты в однопоточном тесте показывает Core i3-2100. Оборудование специально взял не самое новое, на современном оборудовании результаты заметно лучше.

Для тестирования разнесенных серверов 1С и SQL, сервер SQL: IBM System 3650 x4, 2*Xeon E5-2630, 32 Gb, Intel 350, Win 2008 r2.

Для проверки 10 Gbit сети использовались Intel 520-DA2 адаптеры.

Файловая версия. (база лежит на сервере в расшаренной папке, клиенты подключаются по сети, протокол CIFS/SMB). Алгоритм по шагам:

0. Добавляем на файловый сервер тестовую базу Гилева в ту же папку, что и основные базы. С клиентского компьютера подключаемся, запускаем тест. Запоминаем получившийся результат.

Подразумевается, что даже для старых компьютеров 10 летней давности (Pentium на 775 socket) время от нажатия на ярлык 1С:Предприятие до появления окна базы должно пройти меньше минуты. (Celeron = медленная работа).

Если у Вас компьютер хуже, чем пентиум на 775 socket с 1 гб оперативной памяти, то я Вам сочувствую, и комфортной работы на 1С 8.2 в файловой версии Вам будет добиться тяжело. Задумайтесь или об апгрейде (давно пора), или о переходе на терминальный (или web, в случае тонких клиентов и управляемых форм) сервер.

Если компьютер не хуже, то можно пинать администратора. Как минимум — проверить работу сети, антивируса и драйвера защиты HASP.

Если тест Гилева на этом этапе показал 30 «попугаев» и выше, но рабочая база 1С все равно работает медленно — вопросы уже к программисту.

1. Для ориентира, сколько же может «выжать» клиентский компьютер, проверяем работу только этого компьютера, без сети. Тестовую базу ставим на локальный компьютер (на очень быстрый диск). Если на клиентском компьютере нет нормального ССД, то создается рамдиск. Пока, самое простое и бесплатное — Ramdisk enterprise.

Для тестирования версии 8.2 вполне достаточно 256 мб рамдиска, и! Самое главное. После перезагрузки компьютера, с работающим рамдиском, на нем должно быть свободно 100-200 мб. Соответственно, без рамдиска, для нормальной работы свободной памяти должно быть 300-400 мб.

Для тестирования версии 8.3 рамдиска 256 мб хватит, но свободной оперативной памяти надо больше.

При тестировании нужно смотреть на загрузку процессора. В случае, близком к идеальному(рамдиск), локальная файловая 1с при работе загружает 1 ядро процессора. Соответственно, если при тестировании у вас ядро процессора загружено не полностью — ищите слабые места. Немного эмоционально, но в целом корректно, влияние процессора на работу 1С описано здесь. Просто для ориентира, даже на современных Core i3 с высокой частотой вполне реальны цифры 70-80.

Наиболее часто встречающиеся ошибки на этом этапе.

  • Неправильно настроенный антивирус. Антивирусов много, настройки для каждого свои, скажу лишь то, что при грамотной настройке ни веб, ни касперский 1С не мешают. При настройках «по умолчанию» — может отниматься примерно 3-5 попугаев (10-15%).
  • Режим производительности. Почему-то на это мало кто обращает внимания, а эффект — самый весомый. Если нужна скорость — то делать это обязательно, и на клиентских и на серверных компьютерах. (Хорошее описание у Гилева. Единственный нюанс, на некоторых материнских платах если выключить Intel SpeedStep то нельзя включать TurboBoost).

Включать режим производительности можно (и желательно) в двух местах:

  • через BIOS. Отключить режимы C1, C1E, Intel С-state (C2, C3,C4). В разных биосах они называтся по разному, но смысл один. Искать долго, требуется перезагрузка, но если сделал один раз — потом можно забыть. Если в BIOS все сделать правильно, то скорости добавится. На некоторых материнских платах настройками BIOS можно сделать так, что режим производительности Windows роли играть не будет. (Примеры настройки BIOS у Гилева). Эти настройки в основном касаются серверных процессоров или «продвинутых» BIOS, если Вы такое у себя не нашли, и у вас НЕ Xeon — ничего страшного.
  • Панель управления — Электропитание — Высокая производительность. Минус — если ТО комптютера давно не проводилось, он будет сильнее гудеть вентилятором, будет больше греться и потреблять больше энергии. Это — плата за производительность.

В BIOS C-state включены,

режим энергопотребления сбалансированный

Для Pentium и Core на этом можно остановиться,

из Xeon еще можно выжать немного «попугайчиков»

Если не использовать Turbo boost — именно так должен выглядеть

сервер, настроенный на производительность

А теперь цифры. Напомню: Intel Xeon 5650, ramdisk. В первом случае тест показывает 23.26, в последнем — 49.5. Разница — почти двухкратная. Цифры могут варьироваться, но соотношение остается практически таким же для Intel Core.

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

в) Turbo Boost. Сначала надо понять, поддерживает ли Ваш процессор эту функцию, например здесь. Если поддерживает, то можно еще вполне легально получить немного производительности. (вопросы разгона по частоте, особенно серверов, касаться не хочу, делайте это на свой страх и риск. Но соглашусь с тем, что повышение Bus speed со 133 до 166 дает очень ощутимый прирост как скорости, так и тепловыделения)

Как включать turbo boost написано, например, здесь. Но! Для 1С есть некоторые нюансы (не самые очевидные). Сложность в том, что максимальный эффект от turbo boost проявляется тогда, когда включены C-state. И получается примерно такая картинка:

turbo boost 23

Обратите внимание, что множитель — максимальный, частота Core speed — красивейшая, производительность — высокая. Но что же будет в результате с 1с?

Core speed (частота), GHz

CPU-Z Single Thread

Тест Гилева Ramdisk

Тест Гилева Ramdisk

Вывод — turbo boost включать обязательно. Напомню, что недостаточно включить пункт Turbo boost в биосе, надо еще посмотреть и другие настройки (BIOS: QPI L0s, L1 — disable, demand scrubbing — disable, Intel SpeedStep — enable, Turbo boost — enable. Панель управления — Электропитание — Высокая производительность). И я бы все-таки (даже для файловой версии) остановился на варианте, где c-state выключен, хоть там множитель и меньше. Получится как-то так.

Турбо буст включен, c-state выключены, режим высокой производительности

Достаточно спорным моментом является частота памяти. Например вот тут частота памяти показывается как очень сильно влияющая. Мои же тесты — такой зависимости не выявили. Я не буду сравнивать DDR 2/3/4, я покажу результаты изменения частоты в пределах одной линейки. Память одна и та же, но в биосе принудительно ставим меньшие частоты.

800 1066 1333
800 1066 1333
48,54 49,50 50,51
1с 8.2 файловый вариант 49,50 49,50 49,02
49,02 49,02 49,50
36,76 36,76 37,04
1с 8.2 клиент-сервер 37,04 37,04 36,50
36,23 36,76 36,76

2. Когда с процессором и памятью клиентского компьютера разобрались, переходим к следующему очень важному месту — сети. Про тюнинг сети написаны многие тома книг, есть статьи на Инфостарте (1, 2 и другие), здесь я на эту тему заострять внимание не буду. Перед началом тестирования 1С просьба убедиться, что iperf между двумя компьютерами показывает всю полосу (для 1 гбит карточек — ну хотя бы 850 мбит, а лучше 950-980), что выполнены советы Гилева. Потом — самой простой проверкой работы будет, как это ни странно, копирование одного большого файла (5-10 гигабайт) по сети. Косвенным признаком нормальной работы на сети в 1 гбит будет средняя скорость копирования 100 мб/сек, хорошей работы — 120 мб/сек. Хочу обратить внимание, что слабым местом (в том числе) может быть и загруженность процессора. SMB протокол на Linux достаточно плохо параллелится, и во время работы он вполне спокойно может «скушать» одно ядро процессора, и больше не потреблять.

И еще. С настройками по умолчанию windows клиент лучше всего работает с windows server (или даже windows рабочая станция) и протоколом SMB/CIFS, linux клиент (debian, ubuntu остальные не смотрел) лучше работает с linux и NFS (с SMB тоже работает, но на NFS попугаи выше). То, что при линейном копировании вин-линукс сервер на нфс копируется в один поток быстрее, еще ни о чем не говорит. Тюнинг debian для 1С — тема отдельной статьи, я к ней еще не готов, хотя могу сказать, что в файловой версии получал даже немного бОльшую производительность, чем Win вариант на этом же оборудовании, но с postgres при пользователях свыше 50 у меня пока еще все очень плохо.

Самое главное, о чем знают «обжегшиеся» администраторы, но не учитывают начинающие. Есть очень много способов задать путь к базе 1с. Можно сделать servershare, можно 192.168.0.1share, можно net use z: 192.168.0.1share (и в некоторых случаях такой способ тоже сработает, но далеко не всегда) и потом указывать диск Z. Вроде бы все эти пути указывают на одно и то же место, но для 1С есть только один способ, достаточно стабильно дающий нормальную производительность. Так вот, правильно делать надо так:

В командной строке (или в политиках, или как Вам удобно) — делаете net use DriveLetter: servershare. Пример: net use m: serverbases. Я специально подчеркиваю, НЕ IP адрес, а именно имя сервера. Если сервер по имени не виден — добавьте его в dns на сервере, или локально в файл hosts. Но обращение должно быть по имени. Соответственно — в пути к базе обращаться к этому диску (см картинку).

Путь к базе

А теперь я на цифрах покажу, почему именно такой совет. Исходные данные: Карты Intel X520-DA2, Intel 362, Intel 350, Realtek 8169. ОС Win 2008 R2, Win 7, Debian 8. Драйвера последние, обновления применены. Перед тестированием я убедился, что Iperf дает полную полосу (кроме 10 гбит карточек, там получилось только 7.2 Gbit выжать, позже посмотрю почему, тестовый сервер еще не настроен как надо). Диски разные, но везде SSD(специально вставил одиночный диск для тестирования, больше ничем не нагружен) или рейд из SSD. Скорость 100 Mbit получена путем ограничения в настройках адаптера Intel 362. Разницы между 1 Gbit медь Intel 350 и 1 Gbit оптика Intel X520-DA2 (полученной путем ограничения скорости адаптера) не обнаружено. Максимальная производительность, турбобуст выключен (просто для сопоставимости результатов, турбобуст для хороших результатов добавляет чуть меньше 10%, для плохих — вообще может никак не сказаться). Версии 1С 8.2.19.86, 8.3.6.2076. Цифры привожу не все, а только самые интересные, чтобы было с чем сравнивать.

Режим серверный сжатие усиленное 1с отключить

Позвонила бушка, говорит база бухии, недавно переведенная на 1с82, сильно тормозит.

Открыл раздел "О программе". Смотрю, включено какое-то сжатие. А зачем оно, если сеть шустрая? Решил попробовать запускать базу без сжатия, т.е. запускать толстого клиента с ключом /tcomp -none . Попробовал — в том же разделе читаю, что режим уже без сжатия. Прикольно, посмотрим на результаты.

Нужна помощь консультанта?

Продолжая серию статей о тестах быстродействия 1С, мы решили коснуться фактора влияния SAN-сети на производительность 1С.

Сеть хранения данных (Storage Area Network, SAN) — это архитектурная структура для подключения внешних устройств хранения данных, (в нашем случае, дисковые массивы) к серверам (вычислительным ресурсам) таким образом, что операционная система сервера распознает подключенные ресурсы как локальные (так называемая блочная передача данных).

Тестовый стенд и схема структуры

Таблица 1 — Описание тестового стенда

  • Тест 4Gbit — QLogic QLE2460
  • Тест 8Gbit -QLogic QLE2560
  • Microsoft Windows Server 2016 Standart
  • Microsoft SQL Server 2016 SP1 (13.0.4001.0)
  • Гипервизор Hyper-V
  • Сервер 1C:Предприятие 8.3.10.2667
  • CrystalMark 6.0.2
  • Виртуальная машина BitrixVM 7.3.0 с объемом диска 20 ГБ для HyperV
  • Однопоточный синтетический тест платформы 1С:Предприятие + Многопоточный тест записи на диск (2.1.0.7) Гилёв Вячеслав Валерьевич
  • Размер 0,072 ГБ
  • Платформа: 1С:Предприятие 8.3 (8.3.10.2667)

Рисунок 1 — Схема тестового стенда.

Методика тестирования и измерения

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

Тест Гилева (TPC-1C)

Тест принадлежит к разделу универсальных кроссплатформенных нагрузочных тестов. Он может использоваться как для файлового, так и для клиент-серверного архитектур 1С:Предприятие. Тест измеряет количество работы в единицу времени в одном потоке и подходит для оценки скорости работы однопоточных нагрузок, включая скорость прорисовки интерфейса, влияния ресурсных затрат, перепроведения документов, процедур закрытия месяца, расчета зарплаты и т.п. Универсальность позволяет делать суммарную оценку производительности, не привязываясь к одной конфигурации платформы. Результатом теста является тотальная оценка измеряемой системы 1С, выраженная в условных единицах.

Специализированный тест из инструментария «Тест центр» 1С: КИП

Тест-центр – инструмент проведения многопользовательских нагрузочных испытаний систем на базе 1С:Предприятие 8. С его помощью можно моделировать работу компании без участия реальных пользователей. Используя инструментарий 1С: КИП, на основании имеющихся данных в реальных производственных баз 1С — программист формирует полноценный автоматический сценарий тестирования, основанный на перечне документов и справочников, ключевых для данного типа конфигурации – Заявка на расходование средств, Заказ поставщику, Реализация товаров и услуг и т.д. При запуске сценария Тест-центр будет автоматически воспроизводить многопользовательскую деятельность, описанную в сценарии. Для этого Тест-центр создаст необходимое количество виртуальных пользователей (в соответствии со списком ролей) и запустит выполнение действий. Результатом теста является оценка, выраженная в условных единицах.

Монитор производительности Битрикс24

Для проведения данного теста требуется скачать и установить с сайта Битрикс24 образ виртуальной машины с коробочной версией Битрикс24, провести настройку базовой конфигурации. Для оценки производительности необходимо перейти в раздел Монитор производительности (Настройки > Производительность > Панель производительности). Как и в случае с тестом Гилева — разработчики инструмента измерения производительности Битрикс24 базировали результаты на условных единицах, которые выводятся путем генерации сервером ядра пустых страниц сайта в секунду.

Тест с использованием программы CrystalMark

Данная программа предназначена для сравнительного анализа (тестирования) быстродействия жестких дисков компьютера. Позволяет измерить скорость чтения и записи данных. Основные параметры таковы:

  • Количество проверок — задаёт количество повторов, по результатам которых выводит среднее значение
  • Размер файла — задает объем файла, который будет использоваться для чтения или записи в тестах
  • Диск — позволяет выбрать диск, который будет тестироваться

Результаты тестирования

Таблица 2 — Итоговые результаты тестирования производительности 1С

Очень часто ко мне обращаются с вопросами вида:

  • из-за чего тормозит сервер 1С?
  • компьютер с 1С работает очень медленно
  • жутко тормозит клиент 1С

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

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

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

для решения этого, после каждой установки Семерки или 2008-го сервера всегда запускаю

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, например).

  • Если сервер SQL принимает подключения на стандартный порт TCP 1433, то разрешаем его.
  • Если порт SQL динамический, то необходимо разрешить подключения к приложению %ProgramFiles%Microsoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLBinnsqlservr.exe.
  • Сервер 1С работает на портах 1541, кластер 1540 и диапазоне 1560-1591. По совершенно мистическим причинам иногда такой список открытых портов все равно не позволяет выполнять подключения к серверу. Чтобы заработало наверняка, разрешите диапазон 1540-1591.
Настройка производительности Сервера / Компьютера

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

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:

  • Авто настройка WWAN – в том случае, если у Вас нет CDMA или GSM модулей, эту службу можно безболезненно отключить
  • Адаптивная регулировка яркости – эта служба регулирует яркость экрана при наличии датчика освещенности, если такой датчик отсутствует – отключаем.
  • Брандмауэр Windows – предназначен для защиты компьютера. Рекомендуется пользоваться сторонними приложениями для этих целей (например, Comodo, KIS, DrWEB и т.п.).
  • Защитник Windows – отключаем, совершенно ненужная служба!
  • Служба помощника по совместимости программ (Program Compatibility Assistant) – эту службу можно отключить, только в случае несовместимости программ нужно будет вручную устанавливать параметры, что бывает не так уж часто.
  • Служба автоматического обнаружения веб-прокси WinHTTP – можно отключать.
  • Служба политики диагностики (Diagnostic Policy Service) – практически не нужна.
  • Смарт-карта – если Вы не пользуетесь такими картами, то отключаем.
  • Удаленный реестр (Remote Registry) – обязательно отключаем в целях безопасности.
  • Центр обеспечения безопасности (Security Center) – напоминает о различных событиях вроде отсутствия антивируса, устаревших обновлениях и т.п. – отключаем, если не хотите их видеть.

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

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

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *