Разное

1С режим максимальной производительности: : Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8

Содержание

Методика поиска причин низкой производительности сервера 1с / Хабр

Недавно столкнулся с необычным случаем, у заказчика отвратительно работал сервер 1с, чтобы было понятно о чем идет речь, приведу такой пример — запуск толстого клиента мог занимать десяток минут. Когда измерили тестом Гилева, то результат был ниже худшего. Посмотрев ближайшие результаты замеров других пользователей, я понял, что это не единственный случай.
Речь не идет об оптимизации, когда надо поднять на 10-20% производительность, речь идет о поиске причин низкой производительности, и её устранению. Согласитесь это несколько разные вещи. На просторах интернета множество статей как раз о повышении производительности, которые ограничиваются только настройкой сервера 1с и (или) настройкой сервера баз данных. А вот статей, рассматривающих случаи низкой производительности, особенно если причин несколько, и эти причины находятся на разных уровнях, я не встречал.
Обычно администраторы бросаются смотреть результаты мониторинга. Тот случай, с которым я столкнулся, показывал практически нулевую загрузку процессора, наличие свободной ОЗУ, отсутствие очереди у сетевого интерфейса, и только очередь к диску показывала, что не все в порядке. Пришлось устроить проверку по полной программе, это, конечно, занимает много времени, требует исключения сервера из рабочего процесса, но зато дает результат. Возможно для кого-то подобный подход недопустим, более того, некоторые считают это непрофессиональным подходом, но им я ничем помочь не смогу.

Аппаратный уровень

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

Уровень операционной системы

Вторым пунктом нашей программы стала проверка и настройка операционной системы, суть которой заключается в следующем:

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

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

  1. проверке логической структуры диска;
  2. удалении временных и ненужных файлов;
  3. дефрагментации файловой системы.

Справедливости ради, надо заметить, что для SSD-дисков дефргаментация действительно ничего не дает, а только увеличивает количество циклов записи. В моем случае, после приведения файловой системы в порядок сервер немного «ожил», но этого все равно было недостаточно.
Я думаю, не нужно объяснять, зачем нужна антивирусная проверка и отключение неиспользуемых служб, но пренебрегать этим не стоит. Посмотрите, может были установлены какие-то программы, которые сейчас уже не нужны на этом сервере. Ну и сделайте обновление системы и программ.
Что касается оптимальности настроек операционной системы, то в моем случае был выставлен экономный режим электропитания. После включения режима максимальной производительности тест Гилева показывал удовлетворительные результаты, но тот конкретный сервер должен был показывать более высокие результаты.
Для выяснения причин был произведен мониторинг использования ресурсов, хотя с самого начала было понятно, что искать надо те процессы, которые много занимают дисковую подсистему. В моем случае лучшим показателем явился «Длина очереди к диску». Напомню, что остальные показатели были в норме, они конечно немного изменились по сравнению с первоначальными, но в целом индикатором так и осталась длина очереди к диску. Результаты мониторинга были очевидны: «расхитителями» ресурсов оказались процессы сервера 1С и сервера баз данных.

Уровень служб

В моем случае сервер 1с находился вместе с сервером баз данных MS SQL на одной машине, но аппаратная конфигурация сервера вполне обеспечивала их совместную деятельность, а вот настройки этих двух служб были совсем не оптимальными. Этим настройкам посвящено множество статей, например, эта, здесь мы сфокусируем внимание только на тех, что не требуют дополнительных вложений, например, приобретение жесткого диска.
Для сервера MS SQL в каждой базе были увеличены значения параметра авторасширения базы до 500 Мб, так как базы 1С являются быстрорастущими. Также был настроен ежедневный план обслуживания, в котором кроме создания дампа базы добавлено обновление статистики, очистка процедурного кэша и дефрагментация индексов. В моем случае, это заметно уменьшило количество операций записи. В качестве дополнительных мер можно порекомендовать еженедельно производить дефрагментацию базы и реорганизации индексов.
Для сервера 1С были изменены параметры «Количество ИБ на процесс» и «Количество соединений на процесс» рабочего сервера, первый получил значение 1, а второй 25. Подобные советы больше похожи на «танцы с бубном», но они дают результат. В рассматриваемом случае изменение этих параметров привело к значительному уменьшению операций чтения-записи на сервере, и он заработал в ожидаемом режиме. Тест Гилева также подтвердил прирост производительности.

Уровень баз

Сделав замеры под рабочей нагрузкой и после выхода пользователей, я столкнулся со странным результатом — под нагрузкой тест Гилева показывал лучшие результаты, чем при простое! Было также замечено огромное количество фоновых заданий выполняемых на тестовых базах. Тестовые базы использовались сисадминами для проведения различных тестовых задач. Я попросил удалить их — и все встало на свои места. Следует ли держать тестовые базы на рабочем сервере, решать конечно вам, но лучше для этого найти какое-то другое решение, например, использовать файловый вариант.
У одной из баз не удавалось уменьшить журнал транзакций, а у другой базы не пересоздавались индексы. Для обоих случаев есть одно простое и эффективное решение. Прежде чем его описать, следует уточнить, что здесь имеет место одинаковое наименование разных объектов: базы 1С и базы MS SQL, первые могут быть не базами MS SQL, а, например, базами PostgreSQL. В свою очередь вторые не обязательно будут базами для 1С. Исходя из этого резервные копии баз 1С (dt-файл) могут быть развернуты и на других СУБД, но ни кто не запрещает вам из этой же копии развернуть на MS SQL. Снимаем резервные копии баз 1С средствами 1С, после чего удалить 1С-базы из сервера 1С, а потом создать их вновь, залив содержимое из dt-файла.
Приведя все базы в порядок, мне уже не к чему было придраться: сервер работал ровно, дисковая подсистема работала в штатном режиме, пользователи радовались быстрой работе в 1с, администраторы удивлялись как теперь быстро проходят обновления.

Заключение

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

производительность | Gilev.ru | Ускоряем 1С:Предприятие

Поговорим о виртуализации.

Последние несколько лет стала очень широко использоваться виртуализация, администраторы очень быстро увидели плюсы для себя: очень удобно работать с такой машиной, легко переносить её между несколькими физическими серверами, можно настроить отказоустойчивую схему, когда одну виртуальную машину могут обслуживать более одного физического сервера. Кроме того, виртуалка перезагружается на порядок быстрее. Кто не знает, приличный физический сервер может спокойно перезагружаться по 10-15 минут: пока всё потушит, пока сразу после старта неспешно всё у себя проверит, затем даст возможность контроллерам дисковых накопителей потестировать себя и диски всласть, и только после этого начинает грузить операционную систему. Виртуальный же сервер все проверки проскакивает за секунды, с точки зрения железа это всего лишь обычная программа. А для руководства компании мощнейший плюс виртуализации состоит ещё и в том, что можно взять например десять устаревших серверов, и запихнуть их функции на один физический, получается серьёзная экономия что на модернизации оборудования как такового, что на площади серверной комнаты, что на электричестве, нужном для работы и охлаждения сервера. Или можно арендовать в дата-центре вместо десяти слабеньких серверов один сильненький за меньшие суммарно деньги. К тому же, если например раньше вам потребовалось бы увеличить в два раза мощность двух из этих десяти серверов, это могло повлечь за собой необходимость апгрейда этих серверов. А в виртуальной системе достаточно изменить настройки выделения ресурсов. Ну и если вдруг мощности конкретного хост-сервера перестало хватать, можно вынести отдельные виртуалки на другой сервер, причём в некоторых случаях можно их даже не выключать.

Ну то есть замечательная технология. А есть ли у неё минусы? К сожалению, есть.

Главный и основополагающий для нас минус — это снижение производительности (по нашим данным, вендоры сообщают о замедлении относительно физических серверов от 9 до 24%). Причём снижение это идёт сразу по нескольким уровням. Во-первых, что бы там ни рассказывали производители процессоров и виртуальных сред, технология виртуализации сама по себе предполагает выполнение команд не в оригинальной среде, а в её имитации, которая называется эмуляцией. Эмуляция по ресурсам совсем не бесплатна, она отнимает в лучшем случае несколько процентов производительности по сравнению с исполнением того же кода на этом же оборудовании, но без виртуальной среды.

Во-вторых, свои штрафы накладывает эмуляция сетевых интерфейсов и эмуляция сетевых дисков, которые тоже отнимают каждая свои процентики.

Что делает уважающий себя администратор, дорвавшийся до виртуалок? Он берёт старый сервер, где крутились одновременно сервер 1С и сервер СУБД, и раскладывает роль сервера 1С в одну виртуалку, а роль сервера СУБД в другую. С точки зрения отказоустойчивости и балансировки нагрузки — он большой молодец. Такую схему разносить по нескольким физическим серверам проще, распределить нагрузку по незагруженным серверам например.

Однако схема такая сразу начинает работать медленней. Причём, например результат нашего теста может упасть сразу в два раза.

Почему? Например, потому что раньше сервер 1С и сервер СУБД внутри одной операционной системы общались между собой по протоколу Shared Memory, и это было очень быстро. А теперь используют сетевой интерфейс, а даже внутри одного сервера виртуализация сети- задача по ресурсам совсем не бесплатная.

А кроме того, есть ещё и неудобные для 1С сочетания факторов, вот как на снимке: использование сетевого интерфейса WMXNET3 практически гарантирует узкое место на передаче данных 1С по сети.

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

Мы же выделим один наиболее значимый. Теперь кроме всех прочих факторов, добавляется ещё один, совершенно непредсказуемый для виртуальной машины: на этом же железе может исполняться неизвестное количество других виртуальных машин, нагрузка которых может колебаться от условного 0 до 100%. Благодаря этому можно наблюдать например такую картину: сидит один пользователь в базе, на сервере 1С кроме него никого нет, и запускает один и тот же несложный отчёт, например взаиморасчёты по отдельным контрагентам с расшифровкой по документам. Объём данных примерно одинаковый, и время формирования должно быть примерно одинаковым, но нет! То отчёт формируется за секунду, а то приходится ждать целую минуту. Почему? А потому что на этом же физическом сервере в это время например другой бухгалтер в другой базе на другом сервере запустил закрытие месяца, и сервер страшно занят. Изнутри виртуальной машины вот это внешнее влияние отследить совершенно никак невозможно, только с тоской наблюдать, как скачут замеры времени ключевых операций.

Что делать в данном случае? Обеспечить гарантированно высокую производительность системы можно только в том случае, когда ей никто не может помешать. То есть ответ простой: если высокая производительность какой-то конкретной базы 1С является ключевым показателем работы сервера, то всех остальных пассажиров приходится подвинуть. Либо на конкретном примере с объективными замерами показываем админам, что разница в производительности слишком велика, чтобы её игнорировать, и дальше конкретно эта база 1С обслуживается физическим сервером без виртуализации, либо разгружаем виртуальный сервер от всех сторонних виртуальных машин, и эта база 1С обслуживается виртуальным сервером, но её производительность в любом случае становится стабильной.

В книжке 1С эксперта на 22й странице методика считает, что наиболее значимый вклад составляют плохая работа запроса и плохая работа кода. При этом способность среды выполнять действия с необходимой скоростью не рассматривается. Считается, что во-первых скорость среды неизменна, хотя в виртуальной среде это может быть совсем не так. Кроме того, схожая по внешним признакам среда на практике может кардинально отличаться способностью выполнять такой же объём работ за единицу времени. На сервер может быть возложена куча других задач («резиновый сервер»: купили дорогой, надо использовать ) Обычно, когда проводят нагрузочное тестирование – его всегда проводят с имитацией деятельности в базе, но в реальной жизни надо учитывать и имитировать любую другую стороннюю нагрузку (веб-сервер, терминальный сервер, другая ERP), которые могут отнимать непредсказуемую часть ресурсов сервера. В учебнике приводится упрощённый вариант, которого в жизни обычно не бывает. Написанное в учебнике правильно, но этого явно недостаточно для того, чтобы решать задачу по-настоящему. Умение разложить состав нагрузки по составляющим источникам позволяет существенно сократить объём денег и усилий, необходимых для решения проблем.

Кроме того, многие компании, обеспечивающие работу в ЦОД, зачастую не могут сказать – где находится физически виртуальная машина. Таким образом, эксплуатируемое приложение в виртуальной среде, не привязанное к физическому оборудованию, при частой миграции виртуальной среды между узлами, может кардинально менять скорость исполнения в виртуальной среде. Также вы можете встретиться с ситуацией, когда несколько айти-специалистов берут из одного источника один и тот же образ виртуальной машины, запускают на своих компьютерах с максимально похожими характеристиками, и получают совершенно разные результаты тестов производительности. Более того, даже запуская на одном компьютере несколько копий одного образа, неожиданно выясняется необходимость понимания механизма привязки виртуальных ядер к физическим ядрам процессора. Например, когда на четырёхсокетной машине виртуальная система выбирает ядра разных процессоров, скорость отличается от той же самой виртуалки, ядра которой привязаны к одному физическому процессору.

В качестве ещё одного примера: у нас в своё время был неприятный опыт отладки запроса на базе 1С, размещённой в облаке Амазон. Сервер 1С был развёрнут на одной амазоновской виртуалке, сервер СУБД на другой. Сидим на тестовом сервере в одном сеансе, никого больше нет. Запускаем один и тот же довольно несложный запрос и замечаю, что время его выполнения может отличаться на порядок. То есть к примеру он может выполниться за 3 секунды, в следующий раз за 25, потом за 10. Внутри тестовых серверов не происходит ничего, что могло бы объяснить такую разницу. Всё зависит от того, сколько и каких виртуалок ещё развёрнуто на тех же физических серверах, какую они генерируют загрузку процессоров, памяти, дисков и сети.

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

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

Надо же, как люди живут — форумы, Италия…а мы в масках раб…

а что делать, если заказчик -инстранное юр лицо. Брать с нег…

ну не сотню же.

Бывает и такое. Закупают товары и различную продукцию (для т…

Это не так. Много владельцев дорогой недвижимости, зарегистр…

Ага — сказки они рассказывают про то как по 900к на личную к…

да че не может-то? При Салтыкове-Щедрине уже один мужик двух…

видимо, какому-то дятелу очень не терпится узнать о новой пр…

А зачем следующему работодателю сведения об отпусках?

Вообще, это странно. Им недостаточно фразы «перевод лич…

А малооборотистые ИП это сколько в деньгах? С какого момента…

по меньшей мере, действующее законодательство предписывает о…

вариант1.кинуть монету, но результат определяется не стороно…

Если есть трёхсторонняя монета…

Вы придираетесь к словам, что говорит о недостатке аргументо…

а ещё не понимаю момента.Вот сейчас говорят что разработаны …

ничего не хочу сказать ни про кого и ни про что. ни плохого…

в слове ошибка — буква «в» пропущена

Комиссий, может, и нет, но годовое обслуживание тоже денег с…

Сейчас СБ сделал обязательной строчку «на какие нужды&q…

Очень актуальная и полезная информация, огромное спасибо авт…

А я давно предлагаю Индекс Дуремара высчитывать вместо тупог…

Это обычный вопрос ИП, который понабрался дурацких слухов. П…

Если у ИП к расчетному счету привязана карта, вроде «ко…

это что ? эпатаж, какие мы крутенькие, все что получаем на с…

Банальное лоббирование интересов банкиров.

Вообще-то, если люди выступают в качестве подопытных кролико…

Достаточно долгое время был их подписчиком. Но задолбали зво…

При ПСН нельзя торговать только определенными маркированными…

Калуга Астрал, Ваши операторы рассказывают именно то, что на…

ООО на ОСНОКмк в этом варианте не хватает в расчете «на…

Я отбилась. Позвонила им, сказала,что не работаю и не нуждаю…

То есть с указанных дат на патенте нельзя будет торговать пр…

«анализировал судебную арбитражную практику и нарвался …

При таком курсе зеленого, 1 биткоин стоит теперь ровно лимон…

Господин Туров исписался, больше профессиональных тем интере…

Замер производительности


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


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


Результат замера производительности представляет собой список ссылок на конкретные строки модуля, с указанием частоты их выполнения и длительности (абсолютного времени выполнения и относительного, в процентах от общего времени выполнения замеряемого участка). Также в списке отмечаются строки кода, исполнявшиеся на клиенте, сервере и строки кода, приводящие к вызову сервера:



Результаты замера можно видеть также непосредственно в окне с исходным текстом модуля. Щелчком мыши на выбранной строке списка можно перейти к тексту модуля, для которого на отдельном поле будет отображено количество вызовов и относительное время выполнения каждой строки:



Результаты замера могут быть отобраны по месту исполнения (клиент, сервер, клиент и сервер), а также отсортированы по любой из колонок, например, по количеству вызовов строки:



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



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


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

Устраняем неравномерную загрузку и повышаем производительность кластера «1С» на многопроцессорных системах

19/07/2018

Устраняем неравномерную загрузку и повышаем производительность кластера «1С» на многопроцессорных системах

У одного из наших клиентов на новых и мощных серверах кластер «1С:Предприятия» демонстрировал низкую производительность, время ожидания пользователей при выполнении рабочих операций превышало все разумные пределы. Быстрый анализ показал периодический дисбаланс нагрузки между физическими процессорами — в отдельные моменты один мог быть загружен на 100 %, второй на 5–10 %. В статье рассказываем, как локализовали и решили эту проблему.

Общая схема работы при устранении проблемы

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

  • Проверка платформы и конфигурации «1С:Предприятия».

  • Внесение изменений в настройки платформы.

  • Проверка изменений в производительности.

  • Исследование аппаратного и программного комплекса у клиента.

  • Поиск схожих проблем на имеющемся железе в базах знаний производителей оборудования и в публичных источниках.

  • Внесение изменений в настройки аппаратного обеспечения.  

Оптимизируем «1С:Предприятие»

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

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

Стали разбирать инцидент совместно с фирмой «1С» в рамках ИТС КОРП. В результате была выявлена ошибка платформы 30158420, зафиксированная фирмой «1С» еще в ноябре 2017 года, но не исправленная на момент возникновения сложностей у нашего клиента. По итогам переговоров с корпоративной поддержкой «1С» информация об ошибке весной 2018 года была опубликована,  а для нашего клиента выпустили внеочередную сборку платформы с исправлением. Вот суть ошибки:

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

В текущий момент ошибка исправлена в актуальных релизах платформы «1С:Предприятие».

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

Проверили еще несколько вариантов, приводящих к снижению производительности, в том числе давно известные — про ограничения, описанные в 2015 году о работе платформы «1С» с многопроцессорными системами:

Поддержка NUMA в кластере серверов 1С полноценно пока не реализована. Сервер «1С» не управляет распределением ресурсов по NUMA узлам, полностью полагаясь в этом на операционную систему, что не всегда даёт оптимальный результат. Поэтому при работе на современных многопроцессорных системах Intel и AMD, в зависимости от характера нагрузки, может наблюдаться неравномерная загрузка процессоров/ядер.

Выполнили все рекомендации по оптимизации «1С» для многопроцессорных систем. Однако, к улучшению ситуации это не привело.

Настраиваем серверное окружение

Перешли к проверке системного ПО и аппаратной части вместе с ИТ-отделом заказчика. Система построена на базе двухпроцессорной системы с 32 ядрами, по 16 на процессор.

Поиск и исследование информации о схожих с нашей задачей сложностях, материалов от поставщиков оборудования и серверной ОС дало нам три направления работы:

  1. Механизмы работы операционной системы на многоядерном/многопроцессорном сервере.

  2. Настройка аппаратной части — BIOS сервера.

  3. Ограничение на выполнение приложения одной группой процессоров.

Серверные операционные системы семейства Windows начиная с WinServer2008R2 64bit поддерживают работу с более чем 64 логическими процессорами на одном компьютере. Для того, чтобы это реализовать в ОС используется механизм группировки процессоров (processor group, kernel group, kgroup). Каждая из групп может содержать до 64 логических процессоров и если на сервере менее 64 логических процессоров, то должна создаваться только одна группа с порядковым номером 0. Следуя этой логике на испытуемом сервере должна быть только одна группа (Group 0), что подразумевает более-менее равномерное распределение нагрузки между ядрами наших двух физических CPU.

Проверка аппаратной части дала пищу для размышлений. Во-первых, нашлись кейсы, где наблюдалось падение производительности, похожее на наше, для различных приложений. В этих кейсах проводилось тестирование аналогичных серверов двух вендоров. У вендора, которого использует наш клиент, проблема была. А у иного — нет. Проблему на момент размещения кейса частично решали использованием неофициальной (unpublished) версии BIOS с добавленным в настройки параметром NUMA Group Size Optimizations.

Во-вторых, на сервере клиента использовалась устаревшая версия BIOS, для которого вендором была уже зафиксирована и исправлена ошибка, из-за которой серверные ОС Windows могли использовать только половину или менее логических процессоров определенной линейки Intel Xeon. BIOS был обновлен до актуальной версии. В этой версии BIOS уже штатно присутствует параметр NUMA Group Size Optimization.

В-третьих, по умолчанию BIOS настроен таким образом, чтобы обеспечивать работу максимального количества логических процессоров в системе. У сервера два процессорных сокета и параметр NUMA Group Size Optimization выставлен в значение Clustered, обеспечивающее работу максимального количества ядер/процессоров. Получается, что настройка BIOS (напомним, что у сервера клиента всего 32 ядра) разбивала имеющиеся ядра/процессоры на 2 kgroup.

Получается, что в платформе «1С:Предприятие» поддержка NUMA пока не реализована и отдается на откуп ОС. ОС объединяет по умолчанию все ядра в количестве менее или равно 64 в одну группу процессоров. А на уровне оборудования выставлена настройка разбивать на несколько групп имеющиеся ядра. Явная нестыковка.

Особенность отслеживания загрузки процессоров в perfmon

Дополнительную сложность в работе принесло использование Performance Monitor Windows. В Perfmonitor есть счетчик в разделе Processor, который должен показывать общую загрузку процессоров на сервере. «1С» рекомендует этот счетчик включать. А вот Microsoft его обозначает как устаревший. При наличии нескольких групп процессоров вместо общей загрузки системы в графики и показатели попадает значение только той группы, на которой исполняется сам Performance Monitor. Ниже скриншоты. На графиках синей линией обозначены некорректные данные только по одной группе процессоров. А красной указано то, как на самом деле должен был выглядеть график. Поэтому для многопроцессорных систем не используйте неправильный счетчик в мониторе производительности.

Выводы и предупреждение

Итак, у клиента меньше 64 ядер, но BIOS сервера всё равно использовал две процессорные группы и таким образом ограничивал каждый процесс в системе лишь половиной мощностей.

При запуске нескольких процессов кластера «1С» можно было бы ожидать, что они равномерно распределятся между двумя группами, но это не всегда происходило. ОС заточенная под механизмы работы NUMA-архитектуры могла принять решение, что работать с одним процессором быстрее, чтобы использовать память адресованную для этого процессора. Получается, что несколько процессов «1С:Предприятия» оказывалось в одной группе, создавая загрузку на 100%, а вторая группа процессоров в этот момент простаивала. Очередь заданий росла, пользователи чувствовали замедление работы «1С» и выказывали недовольство.

Переключение в BIOS параметра NUMA Group Size Optimization с Clustered на Flat в данном конкретном случае вернуло производительность кластера «1С:Предприятия» на должный уровень. Для пользователей пропали нестерпимые периоды ожидания и работа стала комфортной.

Но не всё так радужно. Платформа «1С:Предприятие» не умеет на момент написания статьи работать с несколькими группами процессоров. Значит, если в сервере будет установлено больше 64 ядер мы окажемся в ловушке — необходимо будет переключить в BIOS параметр NUMA Group Size Optimization в значение Clustered. А это снова вернет нас в исходную ситуацию, когда часть ядер простаивает. Фирма «1С» знает об этой проблеме и прорабатывает необходимые решения.

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

Мы будем дальше работать над вопросами производительности информационных систем и готовы поделиться знаниями и опытом.

Обращайтесь! Высокой вам производительности и консистентности данных!

Производительность 1С в клиент-серверном варианте

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

  1. Увеличение аппаратных мощностей.
  2.  Настройка сервера 1С:Предприятия
  3. Настройка SQL сервера
  4. Оптимизация кода и алгоритмов в 1С.

1. Увеличение аппаратных мощностей

Минимальные требования, предъявляемые к компьютерам, представленным на сертификацию в фирму «1С» для получения логотипа «Совместимо! Система программ 1С:Предприятие»  написаны здесь

Производительность сервера 1С: предприятие  довольно сильно зависит от частоты процессора, а для сервера базы данных  характеристики компьютера должны соответствовать требованиям Microsoft SQL Server, PostgreSQL, IBM DB2, Oracle Database.

2. Настройка сервера 1С:Предприятия

Инструкция по настройке рабочих серверов с Технологической Платформой 1С:Предприятие можно посмотреть на диске ИТС здесь

В версии 8.3 было добавлено несколько новых параметров  в настройке рабочих серверов :

  • Максимальный объем памяти рабочих процессов. Настройка позволяет регулировать объем памяти, который могут занять все рабочие процессы данного кластера на данном рабочем сервере.
  • Безопасный расход памяти за один вызов. Настройка позволяет ограничить объем памяти, который будет занят при выполнении серверного вызова на данном рабочем сервере.
  • Количество ИБ на процесс и количество соединений на процесс. Данные настройки позволяют косвенно регулировать количество рабочих процессов на данном рабочем сервере.
  • Менеджер под каждый сервис. Настройка позволяет запустить каждый сервис менеджера кластера как отдельный процесс.

3. Настройка SQL сервера

Особенность настройки Microsoft Sql  Server с целю увеличения производительности можно посмотреть на диске ИТС здесь .

 С  помощью Maintenance Plan  в разделе Management необходимо выполнять для повышения производительности  следующие регламентные задания:

  • Дефрагментацию индексов и обновление статистики нужно производить ежедневно, т.к. если фрагментированность индексов > 25%, это резко снижает производительность сервера.
  • Дефрагментация и обновление статистики – делается быстро и не требует отключения пользователей. Также рекомендуется делать ежедневно.
  • Полная реиндексация – делается с блокировкой БД, рекомендуется делать хотя бы раз в неделю. Естественно, после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.
3.1 Анализ степени фрагментации индексов

Чрезмерная фрагментация индексов создает проблемы для больших операций ввода-вывода. осле выполнении интенсивных операций по модификации данных в таблицах базы данных увеличивается время выполнения запросов и операций по модификации данных.

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

Для эффективности использования индексов Microsoft SQL Server требуется 

  • Регулярная переиндексация таблиц базы данных с помощью команды DBCC DBREINDEX ( table_name ).
  • Регулярная дефрагментация индексов базы данных  с помощью команды DBCC INDEXDEFRAG(database_nametable_name, index_name).

Выбор способа решения этой проблемы зависит от интенсивности операций по модификации таблиц базы данных.

В MS SQL Server 2005 появились новые средства для контроля этого параметра.

Функция таблицы динамического  управления sys.dm_db_index_physical_stats  возвращает процент фрагментации в столбце avg_fragmentation_in_percent. Если значение в этом столбце превышает 25%, то для восстановления исходных параметров производительности рекомендуется выполнить дефрагментацию этого индекса. От снижения фрагментации индексов могут выиграть операции сканирования больших диапазонов данных, обычные в приложениях хранилищ данных и отчетов.

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

3.2  Использование физической памяти размером более 2 ГБ в Microsoft SQL Server

Microsoft SQL Server 2000 Standard Edition и Microsoft SQL Server 2005 Workgroup Edition могут использовать до 2 ГБ физической памяти, которая динамически распределяется и освобождается в зависимости от рабочей нагрузки. При увеличении объемов базы данных этого объема оперативной памяти становится недостаточно для эффективного кэширования данных и поддержания производительности на приемлемом уровне.

3.3 Уменьшение размера журнала транзакций Microsoft SQL Server

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

Для уменьшения размера файла журнала необходимо предварительно удалить неактивные записи журнала транзакций с помощью команды BACKUP LOG, а затем уже с помощью команды DBCC SHRINKFILE уменьшить размер файла журнала транзакций.Последовательность команд, которую нужно исполнить в Query Analyzer, выглядит следующим образом:

BACKUP LOG Имя_Базы_Данных WITH TRUNCATE_ONLY

go

DBCC SHRINKFILE(Имя_Файла_Журнала_Транзакций)

 go

Более подробное описание и рекомендации по использованию этих команд можно найти в документации по Microsoft SQL Server.

3.4 Перемещение базы данных TEMPDB на другой диск большего размера.

TEMPDB представляет собой системную базу данных Microsoft SQL Server, в которой хранятся временные таблицы, созданные как самим сервером, так и пользователями. Эта база данных создается заново при каждом перезапуске Microsoft SQL Server. По умолчанию размер этой базы данных неограничен и увеличение его осуществляется при необходимости автоматически, порциями по 10% от текущего размера TEMPDB. Однако эти параметры могут быть переопределены пользователем. По умолчанию, минимальный размер этой базы данных, который устанавливается при старте Microsoft SQL Server, определяется размером системной базы данных MODEL. Очистка журнала транзакций в этой базе данных производится автоматически, при этом удаляются только неактивные записи журнала транзакций.

При работе 1С:Предприятия 8 в режиме клиент-сервер широко используются временные таблицыКроме того, TEMPDB используется Microsoft SQL Server при выполнении запросов, использующих операторы GROUP BYUNIONDISTINCT  и т.п.

В процессе работы 1С:Предприятия 8 возможно значительное увеличение размера базы данных TEMPDB. Если размер диска, на котором расположена база данных TEMPDB, окажется недостаточным, работа 1С:Предприятия 8 может завершиться аварийно.

Если эта проблема проявляется регулярно, то рекомендуется переместить TEMPDB на другой диск большего размера.

Эту операцию можно выполнить следующим способом:

1. определить логические имена файлов базы данных TEMPDB (колонка “NAME” результата выполнения процедуры). Для этого нужно в Query Analyzer выполнить следующую команду:

USE tempdb
GO
EXEC sp_helpfile
GO
2.изменить месторасположение файлов базы данных TEMPDB с помощью команды ALTER DATABASE. Для этого нужно в Query Analyzer выполнить следующую последовательность команд:
USE master
GO
ALTER DATABASE tempdb 
MODIFY FILE (NAME = tempdev, FILENAME = 'Новый_Диск:\Новый_Каталог\tempdb.mdf')
GO
ALTER DATABASE  tempdb 
MODIFY FILE (NAME = templog, FILENAME = 'Новый_Диск:\Новый_Каталог\templog.ldf')
GO

3. Перезапустить  Microsoft SQL Server.

Более подробное описание и рекомендации по использованию этих команд можно найти в документации по Microsoft SQL Server.

4. Оптимизация кода и алгоритмов в 1С

4.1 Оптимизация запросов

Значительная часть проблем, приводящих к неоптимальной работе запросов, может быть обнаружена путем анализа кода конфигурации и структуры метаданных. Имеется перечень типичных ошибок в коде и структуре данных, последствия которых достаточно хорошо изучены и легко предсказуемы. Анализ кода с использованием этого перечня позволяет решить большую часть проблем с производительностью запросов, не углубляясь в детальную техническую информацию (текст запроса на языке SQL, план запроса и т.д.).

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

  • соединения с подзапросами
  • соединения с виртуальными таблицами
  • несоответствие индексов и условий запроса
  • использование логического ИЛИ в условиях
  • использование подзапросов в условии соединения
  • получение данных через точку от полей составного типа
  • фильтрация виртуальных таблиц без использования параметров
4.2 Использование замера производительности

1С:Предприятие 8 позволяет отлаживать и измерять производительность для кода на встроенном языке, исполняемом как на клиенте, так и на сервере. Особенностью работы замера производительности для клиент-серверной информационной базы в 1С:Предприятии 8 является то, что результаты замера производительности объединяются в один файл. Они включают в себя данные о ходе исполнения кода на встроенном языке как на клиенте, так и на сервере. Для получения такого замера достаточно запустить сервер 1С:Предприятия 8 в отладочном режиме (с помощью ключа командной строки /debug) и в Конфигураторе в нужный момент просто включить режим замера производительности.

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

Более подробнее об использования замера производительности можно посмотреть на диске ИТС здесь .

Перед началом работ по оптимизации системы необходимо всегда получать начальную оценку производительности при помощи “Оценки интегральной производительности системы по методике APDEX”.

4.3  Инструменты рефакторинга кода

Функции рефакторинга кода, реализованные в конфигураторе платформы 8.3.5, 1068. а также функции автоматического преобразования модальных методов и участков кода показаны на рис 1.

Рис 1 Инструменты рефакторинга кода в конфигураторе

Более подробное о работе с инструментами рефакторинга можно посмотреть  на сайте разработчиков    http://v8.1c.ru/o7/201312ref/ 

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

Поделиться ссылкой:

Понравилось это:

Нравится Загрузка…

Похожее

Автор публикации

1

Комментарии: 16Публикации: 449Регистрация: 25-12-2016

Оптимальные параметры кластера 1С 8.3 » Администрирование » FAQ » HelpF.pro

Я уже писал несколько статей:

Настройка и оптимизация сервера, кластера 8.3

Добавление, перезапуск, оптимизация рабочих процессов сервера кластера

теперь немного подробнее:

Первым делом, после установки кластера 1С ранее нужно было создать рабочие процессы. Как оказалось, процессы кластера начали создаваться автоматически в зависимости от нагрузки базы.

Пробный запуск фоновых заданий основной базы заставило кластер 1С бесконечно перегружать rphost.exe и дополнительный rphost.exe никак не хотел создаваться. Покопавшись в настройках все стало понятно.

Максимальный объем памяти рабочих процессов — это объем памяти, который могут использовать рабочие процессы вместе. Нужно быть очень внимательными при установке параметра, измеряется в байтах. Если установить неверное значение (недостаточное для нормальной работы пользователей) пользователям будет выдана ошибка «Недостаточно свободной памяти на сервере 1С». Так же эту ошибку можно получить, когда на сервере 1С закончилась квота по памяти.

Безопасный расход памяти за один вызов — позволяет контролировать расход памяти при серверном вызове, измеряется в байтах. Если вызов использует больше памяти чем положено, этот вызов будет завершен в рамках кластера 1С без перезапуска рабочего процесса (rphost.exe). Соответственно «неудачник», который выполнил вызов сервера, утратит сеанс с базой 1С без влияния на работу других пользователей.

в одном ГБ — 1073741824 Байт, следовательно в 2 ГБ — 2147483648 Байта

Объем памяти рабочих процессов, до которого сервер считается производительным — при превышении этого параметра сервер в кластере 1С перестанет принимать новые соединения.

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

Количество соединений на процесс — по умолчанию значение «128». Так как у текущей базы очень большая нагрузка фоновыми заданиями (расчет логистики, анализ прайсов, анализ конкурентов и прочее) было принято решение уменьшить количество до «25».

Немного изменились настройки и самого кластера 1С:

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

Режим распределения нагрузки — есть два варианта параметра: «Приоритет по производительности» — памяти сервера тратится больше и производительность выше, «Приоритет по памяти» — кластер 1С экономит память сервера.

Сервер 8.3 характеризуется переработанным заново внутренним кодом, хотя «снаружи» может показаться что это слега доработанный 8.2. 

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

Это снижает вероятность неправильной настройки сервера и понижает требования к квалификации админов.

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

Стабильность работы при использовании больших объемов памяти определятся новыми параметрами рабочего сервера.

Особенно интересен параметр «безопасный расход памяти за один вызов». Для тех кто плохо представляет что это такое — лучше не тренируйтесь на «продуктивной» базе. Параметр «Максимальный объем памяти рабочих процессов» позволяет при «переполнении» не обваливать весь рабочий процесс, а только один сеанс «с неудачником». «Объем памяти рабочих процессов, до которого сервер считается производительным» позволяет заблокировать новые соединения как только будет преодолен этот порог памяти.

Рекомендую изолировать рабочие процессы по информационным базам, к примеру указать параметр «Количество ИБ на процесс = 1″. При нескольких высоконагруженных базах это позволит уменьшить взаимное влияние как по надежности, так и по производительности.

Отдельный вклад в стабильность системы вносит «расходование» лицензий/ключей. В 8.3 появилась возможность использования «менеджера программных лицензий» напоминая менеджер «аладина». Цель — возможность вынести ключ на отдельную машину.

Реализован он в виде еще одного «сервиса» в менеджера кластера. Вы можете использовать к примеру «свободный» ноутбук. Добавьте его в кластер 1с 8.3, создайте на нем отдельный менеджер с сервисом «сервис лицензирования». В ноутбук можно воткнуть аппаратных hasp-ключ, или активировать программные лицензии.

Наибольший интерес для программистов должен представлять «Требования назначения функциональности».

Требования назначенной функциональности 1с

Так на ноутбуке с ключом защиты чтобы не запускать пользователей на сервер кластера надо добавить «требования» для объекта требования «Клиентское соединение с ИБ» — «Не назначать», т.е. запретить рабочим процессам данного сервера обрабатывать клиентские соединения.

Еще больший интерес предоставляет возможность запускать «только фоновые задания» на рабочем сервере кластера без сеансов пользователей. Таким образом можно высоконагруженные задачи (код) вынести на отдельный машины. При чем можно одно фоновое задание «закрытия месяца» через «Значение дополнительного параметра» запускать на одном компьютере, а фоновое задание «Обновление полнотекстового индекса» на другом.Уточнение происходит через указание «Значение дополнительного параметра». Например если указать BackgroundJob.CommonModule в качестве значения, то можно ограничить работу рабочего сервера в кластере только фоновыми заданиями с любым содержимым. Значение BackgroundJob.CommonModule.<Имя модуля>.<Имя метода> — укажет конкретный код.

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

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

Отказоустойчивость сервера 8.2 достигается за счет:

  • Хранение информации о сеансе работы пользователя.
  • Пользователь не привязан больше к рабочему процессу.
  • Резервирование рабочих процессов в кластере.
  • Должно быть несколько рабочих процессов, в том числе резервируемые
  • Резервирование кластеров.

Указывается запасной кластер, при подключении — перечисляются в строке соединения

Это позволяет обеспечить непрерывность работы!

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

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

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

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

Boot performance mode что это в BIOS?

В BIOS некоторых моделей материнских плат от Asrock и Asus можно встретить настройку под названием «Boot performance mode». Чаще всего входит она на вкладке OC Tweaker, которая отвечает за параметры разгона. Среди возможных значений обычно присутствуют:

  • Максимальная производительность без турбонаддува;
  • Макс аккумулятор;
  • Турбо производительность.

Сейчас мы расскажем вам для чего эта опция предназначена и какие значения ей нужно присваивать в той или иной ситуации.

Возможные значения в режиме загрузки

Повышение производительности компьютера путем авторазгона

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

То есть изменив несколько параметров можно получить неплохой прирост скорости работы.Но у этого есть и обратная сторона — понижение стабильности работы. Как чрезмерный разгон компонентов приводит к сбоям в работе всей системы в целом.

Некое подобие этого самого разгона реализовано при помощи функции «Boot performance mode». Установив в ней значение «Turbo performance», вы в некоторой степени ускорите свой ПК. Процессору станет доступно автоматическое изменение множителя для увеличения своей тактовой частоты.

Описание функций в BIOS

Значение «Макс. Производительность без турбонагнетателя» сбрасывает все параметры разгона к заводским, а «Максимальный аккумулятор» слегка притормозит компьютер, снизив его энергопотребление и увеличив стабильность. Применяют значение выставляют, когда наблюдается нестабильная работа системы (синие экраны, зависания).

Какое значение лучше оставить?

Если вам не хватает производительности вашего компьютера, то попробуйте выставить в «Boot performance mode» значение «Turbo performance».Теоретически он должен начать работать быстрее, так как этим вы позволите ему автоматически разгоняться.

В случае, когда компьютер стал часто зависать, выдавать синие экраны и просто нестабильно работать, например для данной опции когда выдать значение «Max battery».

.

Параметры BIOS для разгона и повышения производительности

В данной статье представлены параметры BIOS для «мягкого» повышения производительности и разгона . Принято параметры настроек искать в разделе Frequency / Voltage Control , но в зависимости от производителя материнской платы, параметры для разгона отличаться, и находится в разных разделах. Так, например,

для плат ASUS — это раздел JumperFree Configuration,
для плат Gigabyte — МВ Intelligent Tweaker,
для плат MSI — Cell Menu,
для плат ABIT — Настройка SoftMenu или Guru Utility

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

Некоторые производители платят технологии, когда в В BIOS есть параметры для общего разгона, отдельных не компонентов.

CPU Intelligent Accelerator 2 (C.I.A. 2 — технология динамического разгона) Доступные значения:

  • Disabled — технология динамического разгона не используется
  • Cruise, Sports, Racing, Turbo, Full Thrus t — задает уровень ускорения процессора от 5% (Cruise) до 19% (Full Thrust)

Тор Performance — настраивает систему на максимальную производительность. Этот раздел есть только в некоторых платах от Gigabyte и он скрытый.Для его запуска нажмите Ctrl + F1. Доступные значения:

  • Еnabled — включены, увеличены рабочие частоты системы и уменьшены тайминги оперативной памяти
  • Отключено — Тор Performance отключен

Robust Graphics Booste r — ускоряет работу видеосистемы, увеличивая тактовые частоты видеоадаптера в платах от Gigabyte. Доступные значения:

  • Авто — видеосистема работает на тактовых частотах по умолчанию
  • Fast, Turbo — видеосистема работает на повышенных частотах

Динамический разгон (D.О. — технология динамического разгона для плат от MSI) Доступные значения:

  • Рядовой, сержант, капитан, полковник, генерал, командир — выбор одного из значений позволит задать уровень ускорения процессора от 1% — для Private, до 15% — для Commander
  • Disabled — отключен

AI Overclocking, АI Tuning — параметр разгона для плат от ASUS. Доступные значения:

  • Manuаl — все параметры разгона изменяются вручную
  • Авто — устанавливаются оптимальные параметры
  • Стандарт — загружаются стандартные параметры
  • .

  • Non-Delay Ovегсlosking System — технология динамического разгона

Опции разгона — определить уровень разгона системы.Доступные значения:

  • Overc1ock З%, Оvеrс1осk 5%, Overc1ock 8%, Overc1ock 10% — задает разгона системы в процентах от штатной частоты.
  • Инвалид — разгон не используется

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

  • Fast, Turbo и Extreme — выбор уровня разгона.(Для разгона памяти, желательно ставить качественные комплектующие)
  • Стандарт — разгон не используется

Auto DisabIe DIMM / PCI Frequency, Auto Detect DIMM / PCI Clk — используется для снижения электромагнитных помех от компонентов системной платы. Доступные значения:

  • Disabled — режим снижения электромагнитного излучения отключен. Рекомендуется при разгоне.
  • Enabled — ВIOS будет автоматически отключать неиспользуемые слоты РСI и оперативной памяти для снижения уровня электромагнитных излучений

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

.

Настройки «глобальных параметров» драйвера для видеокарт NVidia — Rig’n’Roll

Анизотропная фильтрация (Анизотропная фильтрация) — ставим значение Управляется приложением (Управление от приложения). Проверьте значение в самом приложении. Желательно не более 8х.

Анизотропная фильтрация нужна для повышения четкости изображения 3д объектов относительно камеры (персонажа, машины и т.д). Выставляем значение, управляемое приложением (Управление от приложения) — это означает, что приложение будет автоматически выбирать нужный режим анизотропной фильтрации, или же фильтрация управляется в самом приложении (программе, игре), чем выше значение фильтрации, тем четче будет изображение. На производительность практически не влияет.

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

Antialising — Гамма-коррекция (Сглаживание — гамма- коррекция) — ставим значение On (Вкл)

«Сглаживание гамма коррекции» сглаживает гамму при переходе от светлого тона к темному или же наоборот.Включение дает возможность сглаживать моменты, например, при «свечении» лица персонажа в лучах света (пример — игра Devil May Cry 4 с отличной игрой светлый и темных тонов). На производительность не влияет.

Режим сглаживания (Сглаживание — режим) — ставим значение Управляется приложением (Управление от приложения)

Очень важный параметр, включение режима сглаживания дает возможность избавления от эффекта лесенок на трехмерном объекте. Выставляем значение Управляемое приложением (Управление от приложения).- это означает, что приложение будет автоматически выбирать нужный режим сглаживания, или же сглаживание будет управляться в приложении (программе, игре), чем выше значение сглаживания, тем меньше будет эффект лесенок, чем ниже будет производительность приложения, тем меньше будет кадров в секунду . На влияет негативно.
Для каждого приложения данный параметр можно настроить отдельно (вкладка настройки), при этом вам станет доступен пункт Настройка сглаживания (Сглаживание — параметры), где вы можете вручную установить уровень сглаживания от 2х до 16х.Даже если приложение не поддерживает сглаживание, это будет делать его сам драйвер видеокарты.

Настройка сглаживания (Сглаживание — параметры) — автоматическое значение, управляемое приложением (Управление от приложения). Проверьте значение в самом приложении. Желательно не более 4х.

При включении предыдущего пункта Режим сглаживания (Сглаживание — параметры) — Управление от приложения (Управление от приложения) текущее значение будет неактивно, активно в том случае, если значение Режим сглаживания (Сглаживание — параметры) — Улучшение настройки приложения ) (Замещение настроек приложения или увеличение приложения).
Для каждого приложения данный параметр можно настроить отдельно (вкладка программные настройки), получив более высокое качество, если приложение не поддерживает или некорректно обрабатывает Anti-aliasing (сглаживание). Читайте пункт выше.

Anti-aliasing — Transparency (Сглаживание — прозрачность) ставим значение Выкл.

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

Conformant texture clamp (Соответствующая привязка текстуры) — параметр Use hardware (Используются аппаратные средства)

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

Сообщения об ошибках (Сообщения об ошибках) — значение Выкл. (Выкл)

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

Force mipmaps (Включение масштабируемых текстур) — значение None (Нет)

Устаревшие значение работы 3д приложений.Отключаем, так как приложения уже не используют данный метод, значение — Нет (Нет).

Максимальное количество предварительно подготовленных кадров — значение 1 или 2 (выбирайте в зависимости от мощности вашего ЦП)

Максимальное количество кадров после первого, которые могут подготовить ЦП для дальнейшей обработки ГП видеокарты. При одном кадре, от 1 до 8 кадров будут подготавливаться наперед, загружаться в память, нагружая ваш ЦП во время подготовки этих кадров.Ставим значение 1 или 2, это позволит капитально увеличить скорость обработки графики в реальном времени. Кол-во кадров выберете сами, но все же рекомендую не более 3. Ориентируйтесь, исходя из мощности вашего ЦП (центральный процессор, не путайте с ГП — графическим процессором).

Многоэкранный / смешанный — ускорение графического процессора (Ускорение нескольких дисплеев / смешанных ГП) — значение Одноэкранный режим производительности (Режим однодисплейной производительности)

Проще говоря, если выставлен режим Многодисплейной производительности (Режим многодисплейной производительности), то графический процессор (ГП) вашей видеокарты отрисовывает изображение для обоих портов видеокарты.А если выставлен режим Режим работы с одним дисплеем (Режим однодисплейной производительности), то сигнал будет идти только на один из портов.
Так что, если у вас одна видеокарта и один монитор, то ставьте в обязательном режиме работы с одним дисплеем (Режим однодисплейной производительности).
Заметьте, что вы установили новые драйверы на видеокарту, по умолчанию стоит режим Режим многодисплейной производительности (Режим многодисплейной производительности), это означает, что, будь у вас два монитора, подключив его к второму видеовыходу, на него тоже бы рендеринг изображения.Теряется производительность где то на 5-15%. В общем режиме Режим однодисплейной производительности (Режим однодисплейной производительности) повышает производительность за счет рендеринга на один видеовыход). Увеличивает производительность в 3д приложениях.

Фильтрация текстур — Оптимизация анизотропной выборки (Фильтрация Текстур — анизотропная оптимизация по выборке) — значение Выкл. (Выкл)

Фильтрация текстур — Анизотропная оптимизация, данный параметр устанавливает значение «Выкл», так как данный параметр увеличения в 3D-приложениях за счет ухудшения конечной картинки при рендеринге видеокартой.Но так как мы стремимся к скорости без потери качества, то нам этот параметр не нужен. (Если в параметрах Фильтрация текстур (Фильтрация текстур — качество) выставлено — Высокое качество (Высокое качество), данный параметр будет неактивен, выключен.)

Фильтрация текстур — Отрицательное смещение LOD (Фильтрация текста — отрицательное отклонение УД) — Значение Clamp (Привязка)

Фильтрация текстур с использованием негатива с масштабируемым уровнем детализации, выставляем значение зажима (Привязка), что позволит оптимизировать текстурные процедуры путем привязки.Это позволит получить дополнительные 2-3 ФПС в производительности рендеринга, без потерь качества. Увеличивает производительность в 3д приложениях.

Фильтрация текстур (Фильтрация текстур — качество) — значение Качество (Качество) или Высокое качество (Высокое качество). (Выбирайте в зависимости от мощности вашей видеокарты)

Фильтрация текстур, позволяет без улучшения качества изображения, четкость изображения пони производительности в рендеринге, соответственно ставим значение Hight quality (Высокое качество). На производительность практически не влияет.

Фильтрация текстур — Трилинейная оптимизация (Фильтрация текстур — трилинейная оптимизация) — значение Выкл. (Выкл)

Фильтрация текстур — трилинейная оптимизация, данный параметр выставляется в значении Выкл, если параметр Фильтрация текстур — Качество (Фильтрация текстур — качество) стоит наении Высокое качество (высокое качество), то данный параметр будет неактивен.
Параметры Фильтрация текстур — Трилинейная оптимизация (Фильтрация текста — трилинейная оптимизация) хочу отметить, что увеличение производительности в 3 приложениях за счет улучшения конечной картинки при рендеринге видеокартой.Трилинейная фильтрация (Трилинейная фильтрация) намного старше и у меня есть минусы, так же как и у двулинейной (билинейной) фильтрации. Тем более Анизотропная фильтрация (Анизотропная фильтрация) «практически» включает в себя оба метода фильтрации текстур с некоторой доработкой.

Потоковая оптимизация (Потоковая оптимизация) — значение Вкл. (Вкл). (Включайте только если у вас многоядерный процессор, если нет, поставьте «Авто»)

Оптимизация драйвера видеокарты под многоядерные процессоры, лакомый кусочек для обладателей 2х — 4х ядерных процессоров.По умолчанию значение стоит Авто (Авто), но судя по проведенным тестам, в приложениях автоматически выставлялось Выкл. (Выкл), но так как мы стремимся увеличить производительность, то выставляем значение Вкл (Вкл). Увеличивает производительность в 3д приложениях.

Тройная буферизация (Тройная буферизация) — значение Выкл. (Выкл)

Тройная буферизация экрана, буферизирует несколько кадров при вертикальной синхронизации, что позволяет более плавно сгладить переход кадров, тем самым снижает производительность в 3д приложениях.Ставим значение Off (Выкл), тем самым отключая ненужную буферизацию. На влияет негативно.

Вертикальная синхронизация (Вертикальный синхроимпульс — значение Force off (Отключить)

Вертикальная синхронизация кадров, через вертикальный синхроимпульс синхронизируется количество кадров в секунду с обновлением вашего монитора, тем самым убирая некий эффект «разрыва картинки» (на экране это будет выглядеть , например, при резком повороте камеры, будто верхняя часть экрана чуть уехала в сторону, по отношению к нижней), при быстрой смене кадров.При этом часто сильно падает FPS (кол-во кадров в секунду), оно не так сильно падает, только если у вас монитор обновляется с интервалом выше 100-120 Гц в секунду, но даже при такой частоте все равно FPS снижается на 10- 15%. Ставим значение Off (Выкл), тем самым отключая ненужную вертикальную синхронизацию. На влияет негативно.

Ambient occlusion — Значение «Выкл»

Ambient occlusion — модель затенения, используемая в трёхмерной графике и позволяющая добавить реалистичности изображению за счёт вычислительного света, доходящего до точки поверхности.
Окклюзия чаще всего вычисляется путём построения лучей, исходящих из точек поверхности всех направлений, с их проверкой на пересечение с другими объектами.
Этот процесс очень прилично нагружает видеокарту, так что смотрите сами, если видеокарта мощная, можете включить. А если нет, то лучше выключить.
В целом же, на мой взгляд, не стоит этот эффект того, что поедает =) Особой разницы вы все равно не увидите, она есть, но минимальная и заметна, только если внимательно присматриваться и знать, что искать =)

.

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

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