Любая программа, даже самая надежная, порой может подвести: появляются ошибки, сбои или просто замедление работы. Последнее — самый простой, но, пожалуй, самый раздражающий фактор. Еще бы: нужно срочно составить и отправить важный отчет, а 1С работает еле-еле. В этой статье мы расскажем, почему 1С стала медленно работать и как справиться с этой проблемой.
Здравствуйте, уважаемые участники конференции, уважаемые эксперты команды gilev!Прошу рассмотреть мою ситуацию, буду весьма признателен за ваши наводки и советы.
Исходные данные:1. Сервер HP DL 120 Proliant G6, Xeon X3450, 16Gb DDR3, HP 2×320 Gb SAS HDD 15k rpm (RAID1)Да, сервер старенький, но что уж есть2. П О: Server 2012 R2 со всеми актуальными апдейтами, 1C Server 8.3, MS SQL 2014 x64 На сервере нет никакого антивирусного ПО.3. На сервере 1С 10 БД, максимальный размер одной из них всего 2.5 Гб4. U SB ключ на 10 лицензий, HASP License Manager5. Помимо конфигураций 1С Предприятия есть конфигурация ЗУП и 1С: Салон красоты (с ним еще установлен менеджер лицензий СЛК 2.0)6. Клиенты подключаются через платформу по сети, в клиенте указывается IP 1С сервера. Подключение всех клиентов до сервера – по гигабитному каналу. Коммутаторы от HP.
Проблема:С самого рождения сервера замечено, что старт с момента запуска до ввода пароля осуществляется медленно. Около 2 минут, иногда больше. Когда в одной из баз сидят одновременно несколько человек этого лага не наблюдается. Знакомый по 1С успокоил, что это норма для 8.3, но мне с самого начала это не нравилось. Но в последнее время это время лага увеличилось до 5-7 минут! Бухи жалуются и на проседание производительности во время выгрузок и проводок. Не могу отследить закономерность. Иногда бывает, что все базы запускаются в лёт, но чаще всего – зависают.
Прошу помощи и совета, спасибо.
Если тормоза возникают после авторизации, то скорее всего проблему можно решить поправив код 1С.
Если тормоза происходят ДО авторизации пользователя в 1С, то по статистике эффективность такая:
1) удалить антивирус и на сервере, и на клиенте целиком, а не просто отключить
2) поставить локальный ключ защиты на клиента 1С
3) прописать подключение по ip адресу к серверу и прописать в файле hosts и на сервере и на клиенте
4) выполнить выгрузку в dt файл, затем обратно загрузить из dt и сделать ТиИ все пункты
5) если страдают по скорости все клиенты, то поместить клиентов на (терминальный!) сервер или переместить сервер на другой физический компьютер
6) для современных конфигураций с управляемым приложением файловые базы по сети использовать через веб-сервер
7) Для windows 7 и некоторых серверных ОС:
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
8) Для сверхбольшого (тысячи) одновременных соединений к серверу 1С необходимо отредактировать сетевой стек Windows:
- MaxFreeTcbs = 100000
- EnableDynamicBacklog = 1
- MaximumDynamicBacklog = 20000
- DynamicBacklogGrowthDelta = 10
10) при работе с сетью в виртуальных средах смотрите http://www.gilev.ru/virtual/
11) для файлового варианта ставьте не ниже 8.3.8, фирма 1С обозначала «возможность повышения производительности» в ветке http://partners.v8.1c.ru/forum/thread.jsp?id=1107679 в будущих релизах платформы , см. также http://www.gilev.ru/ver8-3-8/
12) используйте кэширование при подключении сетевого ресурса как диска аккуратно, риски потери данных увеличиваются
13) http://www.gilev.ru/jumboframes/ настройки сетевой карты
Если Вам не помогли перечисленные рекомендации, то Вы можете заказать услугу диагностики вашей системы.
https://youtube.com/watch?v=HU_H1eoKNnk%3Frel%3D0
Почему 1С Предприятие 8 работает медленно?
На скорость работы 1С Предприятие 8 влияет большое количество возможных причин:
Для того чтобы разобраться самостоятельно в причинах в вашей системе вы можете пройти наши курсы http://www.gilev.ru/kurs/ или воспользоваться нашими услугами http://www.gilev.ru/kod1c/
В последнее время пользователи и администраторы все чаще начинают жаловаться, что новые конфигурации 1С, разработанные на основе управляемого приложения, работают медленно, в некоторых случаях неприемлемо медленно. Понятно, что новые конфигурации содержат новые функции и возможности, а поэтому более требовательны к ресурсам, но понимания, что в первую очередь влияет на работу 1С в файловом режиме у большинства пользователей нет. Постараемся исправить этот пробел.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В наших прошлых публикациях мы уже касались влияния производительности дисковой подсистемы на скорость работы 1С, однако данное исследование касалось локального использования приложения на отдельном ПК или терминальном сервере. В тоже время большинство небольших внедрений предполагают работу с файловой базой по сети, где в качестве сервера используется один из пользовательских ПК, либо выделенный файловый сервер на базе обычного, чаще всего также недорогого, компьютера.
Небольшое исследование русскоязычных ресурсов по 1С показало, что данный вопрос старательно обходится стороной, в случае возникновения проблем обычно советуется переход к клиент-серверному или терминальному режиму. А также практически общепринятым стало мнение, что конфигурации на управляемом приложении работают значительно медленнее обычных. Как правило аргументы приводятся “железные”: “вот Бухгалтерия 2.0 просто летала, а “тройка” еле шевелится, безусловно, доля истины в этих словах есть, поэтому попробуем разобраться.
Потребление ресурсов, первый взгляд
Перед тем, как начать это исследование, мы поставили перед собой две задачи: выяснить, действительно ли конфигурации на основе управляемого приложения медленнее обычных и какие именно ресурсы оказывают первоочередное влияние на производительность.
Для тестирования мы взяли две виртуальные машины под управлением Windows Server 2012 R2 и Windows 8.1 соответственно, выделив им по 2 ядра хостового Core i5-4670 и 2 ГБ оперативной памяти, что соответствует примерно средней офисной машине. Сервер разместили на RAID 0 массиве из двух WD Se, а клиент на аналогичном массиве из дисков общего назначения.
В качестве подопытных баз мы выбрали несколько конфигураций Бухгалтерии 2.0, релиза 2.0.64.12, которую затем обновили до 3.0.38.52, все конфигурации запускались на платформе 8.3.5.1443.
Первое, что обращает на себя внимание, это выросший размер информационной базы “тройки”, причем существенно выросший, а также гораздо большие аппетиты к оперативной памяти:
Мы уже готовы услышать привычное: “да чего они там такого добавили в эту тройку”, но давайте не будем спешить. В отличие от пользователей клиент-серверных версий, которые требуют наличия более-менее квалифицированного администратора, пользователи файловых версий крайне редко задумываются об обслуживании баз. Также редко об этом думают обслуживающие (читай – обновляющие) эти базы сотрудники специализированных фирм.
Между тем информационная база 1С – это полноценная СУБД своего формата, которая тоже требует обслуживания и для этого даже есть инструмент, который называется Тестирование и исправление информационной базы. Возможно злую шутку сыграло название, которое как-бы подразумевает, что это инструмент для устранения проблем, но низкая производительность – тоже проблема, а реструктуризация и реиндексация, вместе со сжатием таблиц – хорошо известные любому администратору СУБД средства оптимизации баз данных. Проверим?
В последствии, после загрузки новых классификаторов и справочников, создания индексов и т.п. размер базы вырастет, в целом базы “тройки” больше баз “двойки”. Однако более важно не это, если вторая версия довольствовалась 150-200 МБ оперативной памяти, то новой редакции нужно уже полгигабайта и из этого значения следует исходить, планируя необходимые ресурсы для работы с программой.
Сеть
Пропускная способность сети – один наиболее важных параметров для сетевых приложений, особенно, как 1С в файловом режиме, перемещающих по сети значительные объемы данных. Большинство сетей небольших предприятий построены на базе недорогого 100 Мбит/с оборудования, поэтому мы начали тестирование именно со сравнения показателей производительности 1С в сетях 100 Мбит/с и 1 Гбит/с.
Что происходит при запуске файловой базы 1С по сети? Клиент скачивает во временные папки достаточно большое количество информации, особенно если это первый, “холодный”, запуск. На 100 Мбит/с мы ожидаемо упремся в ширину канала и загрузка может занять значительное время, в нашем случае около 40 секунд (цена деления графика – 4 сек).
Второй запуск происходит быстрее, так как часть данных сохраняется в кэше и находится там до перезагрузки. Переход на гигабитную сеть способен значительно ускорить загрузку программы, как “холодный”, так и “горячий”, причем соотношение значений при этом соблюдается. Поэтому мы решили выразить результат в относительных значениях, взяв за 100% самое большое значение каждого замера:
Как можно заметить из графиков, Бухгалтерия 2.0 загружается при любой скорости сети вдвое быстрее, переход со 100 Мбит/с на 1 Гбит/с позволяет ускорить время загрузки в четыре раза. Разницы между оптимизированной и неоптимизированной базами “тройки” в данном режиме не наблюдается.
Также мы проверили влияние скорости сети на работу в тяжелых режимах, например, при групповом перепроведении. Результат также выражен в относительных значениях:
Здесь уже интереснее, оптимизированная база “тройки” в 100 Мбит/с сети работает с такой же скоростью, как и “двойка”, а неоптимизированная показывает вдвое худший результат. На гигабите соотношения сохраняются, неоптимизированная “тройка” также вдвое медленнее “двойки”, а оптимизированная отстает на треть. Также переход на 1 Гбит/с позволяет сократить время проведения в три раза для редакции 2.0 и в два раза для 3.0.
Для того, чтобы оценить влияние скорости сети на повседневную работу мы воспользовались Замером производительности, выполнив в каждой базе последовательность заранее предопределенных действий.
Собственно, для повседневных задач пропускная способность сети не является узким местом, неоптимизированная “тройка” всего лишь на 20% медленнее двойки, а после оптимизации оказывается примерно настолько же быстрее – сказываются преимущества работы в режиме тонкого клиента. Переход на 1 Гбит/с не дает оптимизированной базе никаких преимуществ, а неоптимизированная и двойка начинают работать быстрее, показывая небольшую разницу между собой.
Из проведенных тестов становится очевидно, что сеть не является узким местом для новых конфигураций, а управляемое приложение работает даже быстрее обычного. Также можно рекомендовать переход на 1 Гбит/с если для вас критичны тяжелые задачи и скорость загрузки баз, в остальных случаях новые конфигурации позволяют эффективно работать даже в медленных 100 Мбит/с сетях.
Так почему же 1С тормозит? Будем разбираться дальше.
Дисковая подсистема сервера и SSD
В прошлом материале мы добились увеличения производительности 1С разместив базы на SSD. Возможно недостаточно производительности дисковой подсистемы сервера? Мы сделали замеры производительности дисковой сервера во время группового проведения сразу в двух базах и получили довольно оптимистичный результат.
Несмотря на относительно большое количество операций ввода-вывода в секунду (IOPS) – 913, длина очереди не превысила 1,84, что для двухдискового массива очень хороший результат. Исходя из него можно сделать предположение, что зеркала из обычных дисков будет достаточно для нормальной работы 8-10 сетевых клиентов в тяжелых режимах.
Так нужен ли SSD на сервере? Лучше всего ответить на этот вопрос поможет тестирование, которое мы провели по аналогичной методике, сетевое подключение везде 1 Гбит/с, результат также выражен в относительных значениях.
Начнем со скорости загрузки базы.
Может быть кому-то и покажется удивительным, но на скорость загрузки базы SSD на сервере не влияет. Основной сдерживающий фактор здесь, как показал предыдущий тест, пропускная способность сети и производительность клиента.
Перейдем к перепроведению:
Выше мы уже отмечали, что производительности дисковой вполне достаточно даже для работы в тяжелых режимах, поэтому на скорость проведения SSD также не оказывает влияния, кроме неоптимизированной базы, которая на SSD догнала оптимизированную. Собственно, это еще раз подтверждает, что операции оптимизации упорядочивают информацию в базе данных, уменьшая количество случайных операций ввода вывода и повышая скорость доступа к ней.
На повседневных задачах картина аналогичная:
Выигрыш от SSD получает только неоптимизированная база. Вы, конечно, можете приобрести SSD, но гораздо лучше будет задуматься о своевременном обслуживании баз. Также не забывайте о дефрагментации раздела с информационными базами на сервере.
Дисковая подсистема клиента и SSD
Влияние SSD на скорость работы локально установленной 1С мы разбирали в предыдущем материале, многое из сказанного справедливо и для работы в сетевом режиме. Действительно, 1С достаточно активно использует дисковые ресурсы, в том числе и для фоновых и регламентных задач. На рисунке ниже можно видеть, как Бухгалтерия 3.0 довольно активно обращается к диску в течении порядка 40 секунд после загрузки.
Но при этом следует осознавать, что для рабочей станции где активная работа производится с одной – двумя информационными базами ресурсов производительности обычного HDD массовой серии вполне достаточно. Приобретение SSD способно ускорить некоторые процессы, но радикального ускорения в повседневной работе вы не заметите, так как, например, загрузка будет ограничиваться пропускной способностью сети.
Медленный жесткий диск способен замедлить некоторые операции, но сам по себе являться причиной торможения программы не может.
Оперативная память
Несмотря на то, что оперативка сейчас неприлично дешева, многие рабочие станции продолжают работать с тем объемом памяти, который был установлен при покупке. Вот тут и подстерегают первые проблемы. Уже исходя из того, что в среднем “тройке” требуется около 500 МБ памяти можно предположить, что общего объема оперативной памяти в 1ГБ для работы с программой будет недостаточно.
Мы уменьшили память системы до 1 Гб и запустили две информационные базы.
На первый взгляд все не так и плохо, программа поумерила аппетиты и вполне уложилась в доступную память, но не будем забывать, что потребность в оперативных данных не изменилась, так куда же они делись? Сброшены в дисковый, кэш, подкачку и т.п., суть этой операции состоит в том, что не нужные в данный момент данные отправляются из быстрой оперативной памяти, количества которой недостаточно, в медленную дисковую.
К чему это приведет? Посмотрим, как используются ресурсы системы в тяжелых операциях, например, запустим групповое перепроведение сразу в двух базах. Сначала на системе с 2 ГБ оперативной памяти:
Как видим, система активно использует сеть, для получения данных и процессор для их обработки, дисковая активность незначительна, в процессе выполнения обработки она эпизодически вырастает, но не является сдерживающим фактором.
Теперь уменьшим память до 1 ГБ:
Ситуация радикальным образом меняется, основная нагрузка теперь приходится на жесткий диск, процессор и сеть простаивают, ожидая пока система считает с диска в память нужные данные и отправит туда ненужные.
При этом даже субъективная работа с двумя открытыми базами на системе с 1 ГБ памяти оказалась крайне некомфортной, справочники и журналы открывались со значительной задержкой и активным обращением к диску. Например, открытие журнала Реализация товаров и услуг заняло около 20 секунд и сопровождалось все это время высокой дисковой активностью (выделено красной линией).
Чтобы объективно оценить влияние оперативной памяти на производительность конфигураций на основе управляемого приложения мы провели три замера: скорость загрузки первой базы, скорость загрузки второй базы и групповое перепроведение в одной из баз. Обе базы полностью идентичны и созданы копированием оптимизированной базы. Результат выражен в относительных единицах.
Результат говорит сам за себя, если время загрузки вырастает примерно на треть, что еще вполне терпимо, то время выполнения операций в базе вырастает в три раза, ни о какой комфортной работе в таких условиях говорить не приходится. Кстати, этот тот случай, когда покупка SSD способна улучшить ситуацию, но гораздо проще (и дешевле) бороться с причиной, а не с последствиями, и просто купить нужное количество оперативной памяти.
Недостаток оперативной памяти – основная причина по которой работа с новыми конфигурациями 1С оказывается некомфортной. Минимально подходящими следует считать конфигурации с 2 ГБ памяти на борту. При этом учитывайте, что в нашем случае были созданы “тепличные” условия: чистая система, запущены только 1С и диспетчер задач. В реальной жизни на рабочем компьютере как правило открыты браузер, офисный пакет, работает антивирус и т.д, и т.п., поэтому исходите из потребности 500 МБ на одну базу плюс некоторый запас, чтобы при тяжелых операциях вы не столкнулись с недостатком памяти и резким снижением производительности.
Процессор
Центральный процессор без преувеличения можно назвать сердцем компьютера, так как именно он, в конечном итоге, осуществляет обработку всех вычислений. Чтобы оценить его роль мы провели еще один набор тестов, такой же, как и для оперативной памяти, уменьшив количество доступных виртуальной машине ядер с двух до одного, при этом тест выполнялся два раза с объемами памяти в 1 ГБ и 2 ГБ.
Результат оказался довольно интересным и неожиданным, более мощный процессор довольно эффективно брал на себя нагрузку в условиях недостатка в ресурсах, в остальное время не давая каких-либо ощутимых преимуществ. 1 С Предприятие (в файловом режиме) сложно назвать приложением, активно использующим процессорные ресурсы, скорее нетребовательным. А в тяжелых условиях на процессор ложится нагрузка не столько по обсчету данных самого приложения, сколько обслуживания накладных расходов: дополнительных операций ввода вывода и т.п.
Выводы
Итак, почему тормозит 1С? В первую очередь это недостаток оперативной памяти, основная нагрузка в этом случае ложится на жесткий диск и процессор. А если они не блистают производительностью, как это обычно бывает в офисных конфигурациях, то получаем ситуацию, описанную в начале статьи – “двойка” работала нормально, а “тройка” безбожно тормозит.
На второе место стоит вынести производительность сети, медленный 100 Мбит/с канал способен стать реальным бутылочным горлышком, но в тоже время режим тонкого клиента способен поддерживать довольно комфортный уровень работы даже на медленных каналах.
Затем следует обратить внимание на дисковую, покупка SSD вряд ли будет хорошим вложением денег, а вот заменить диск на более современный будет не лишним. Разницу между поколениями жестких дисков можно оценить по следующему материалу: Обзор двух недорогих дисков серии Western Digital Blue 500 ГБ и 1 ТБ.
И наконец процессор. Более быстрая модель конечно же не будет лишней, но большого смысла увеличивать его производительность нет, если только данный ПК не используется для тяжелых операций: групповых обработок, тяжелых отчетов, закрытия месяца и т.п.
Надеемся данный материал поможет вам быстрее разобраться в вопросе “почему тормозит 1С” и решить его наиболее эффективно и без лишних затрат.
Причина №1. Устаревшие версии программы и/или платформы 1С
Разработчики фирмы 1С регулярно выпускают новые версии основных продуктов. Чаще всего в новых версиях исправляются ошибки и критические сбои, а также появляется функционал, связанный с потребностями бизнеса и нововведениями в законодательстве. Свежие версии работают быстрее, поэтому старайтесь следить за установкой обновлений: не только конфигурации, но и самой платформы 1С.
Решение: Обновить 1С. Если ваша программа 1С подвергалась ранее доработкам, то мы рекомендуем обратиться к опытным специалистам для обновления, чтобы избежать потери данных и всего, что было доработано.
Причина №5 Слишком много пользователей одновременно, высокая нагрузка на сервер
Владельцы версий ПРОФ и КОРП могут отметить, что когда в программе работают одновременно несколько пользователей, 1С медленно работает по локальной сети. Это происходит потому, что один из компьютеров выполняет роль сервера и не справляется с нагрузкой. Решить проблему можно радикально — ограничить доступ пользователям или, если сократить количество до 10 пользователей нельзя, использовать клиент-сервер.
Выделение сервера (перевод базы в клиент-серверный режим) требует дополнительных лицензий (Ключ сервера предприятия 1С) и настройка системы управления баз данных Postgresql или Microsoft SQL Server.
Переход в клиент-серверный режим рекомендуется, когда размер базы данных превысил 15 Гб или количество одновременно работающих пользователей стало больше 10.
Решение: переход на клиент-серверный режим работы. Для оценки ситуации и реализации процесса рекомендуем обратиться к опытным специалистам — то есть к нам в Визард.
Мы разобрали основные причины, почему 1С стала медленно работать. С некоторыми можно справиться самостоятельно, а для некоторых потребуется внимание специалистов. Также не стоит забывать, что каждый случай замедления 1С — уникальный, и общедоступных методов может быть недостаточно. Рекомендуем обратиться к специалистам группы компаний «Визард», чтобы узнать, как ускорить работу 1С в вашем случае и провести оптимизацию.
Причина №2 Устаревшее оборудование
К сожалению, не всегда бухгалтера и другие сотрудники предприятий получают новую и шуструю технику, чаще всего работать приходится на устаревших машинах возрастом 5-6 лет. 1 С — требовательная к ресурсам программа, поэтому для корректной работы важно соблюдать рекомендации разработчика, выдвигаемые к процессору, жесткому диску и оперативной памяти.
Проверьте параметры своего компьютера с 1С прямо сейчас: кликните правой кнопкой мыши на «Мой компьютер» в меню выберите «Свойства». В открывшемся окне будет вся нужная информация о вашей рабочей машине: если какой-то из параметров не дотягивает до минимума, это повод для апгрейда компьютера и ответ на вопрос «как ускорить запуск 1С».
Решение: Обновить оборудование, на котором установлены решения 1С. Если вы затрудняетесь определить является это причиной медленной работы, можете обратиться к нашим специалистам — проанализируем ситуацию, ответим, нужно ли обновлять оборудование и порекомендуем какое выбрать.
Причина №3 Объемная и сложная база данных 1С
Если в вашей базе данных хранится слишком много информации, компьютеру требуется время, чтобы ее обработать — как раз это может быть одной из причин, почему медленно запускается 1С. Особенно это касается больших предприятий, которые работают с огромным количеством данных. Исправить проблему довольно легко: нужно произвести свертку, то есть удаление старых документов, которые уже не потребуются. Реструктуризация, реиндексация и сжатие таблиц информационной базы отлично помогают справиться с замедлениями.
Еще один совет, как ускорить файловую базу 1С — очистка программного кэша. Вы удивитесь, как много места можно освободить всего лишь за одну операцию. Регулярно очищайте кэш и удаляйте старые документы, чтобы не засорять базы и не замедлять работу программы.
Решение: Сжатие базы и очистка кэша
Причина №4 Выполнение регламентных задач
В программе есть набор заданий, которые запускаются регулярно незаметно для пользователя — например, обновление курсов валют, классификатор банков и пр. Такие задания называются регламентными или фоновыми. Одна из причин, почему 1с медленно работает — выполняются фоновые задания. Чтобы эти процессы не мешали вашей работе, отключите ненужные регламентные задания или измените их расписание — например, после 18:00, когда рабочий день уже закончился. Сделать это можно в разделе «Администрирование». Перейдите в «Обслуживание» , раздел «Регламентные операции» и отключите ненужные процессы.
Решение: Настройка регламентных процессов