Знакомая ситуация, если вы используете файловую версию с сетевым доступом. Самый распространенный совет — ставить сервер, и забыть про тормоза.
Но как быть, если в 1С у вас всего работает 2-3 человека, и тратить деньги на покупку серверных лицензий — явно невыгодно?
В данной статье рассмотрены несколько практических шагов, которые были предприняты у клиента для ускорения работы файловой базы.
Платформа 1С 8.3, управляемые формы, тонкий клиент, база — Управление Торговлей 11.
Симптомы пациента и анамнез:
Работа нескольких пользователей по сети с одним и тем же файлом (базой данных) включает механизм сетевой блокировки. Это заставляет систему тратить драгоценное время на выявление открытых сессий записи, и соответственно разрешение конфликтов.
- быстрая работа пользователя с базой по сети в монопольном режиме и крайне медленная — при одновременной работе нескольких пользователей
- быстрая работа пользователя с локальной базой на сервере и медленная — по сети
- процессор на сервере почти не занят
- загрузка гигабитной сетевой карты меньше 5%
- обращения к файловой системе чуть менее 10 мбайт/сек
Все шуточки я забыл, когда увидел, с чем предстоит иметь дело: «сервер» в лице обычного офисного компьютера и два ноутбука.
Счастье было бы неполным, если бы не замечательные операционные системы — на компьютере и на одном ноутбуке Windows 7, на другом — Windows 8.
При попытке одновременно провести документы на ноутбуках один тупил около минуты, а второй вылетел из 1С с текстом ошибки «не удалось заблокировать таблицу…».
Запуск 1С на ноутбуке — это отдельное шоу, длившееся порядка 3 минут!
На многих ресурсах сталкивался с советом перейти на работу в терминальном доступе. К сожалению, Windows 7 не позволяет штатными средствами превратиться в сервер терминалов — максимум одно активное подключение. При этом остальные сеансы не прекращаются, можно переподключиться под другим пользователем — «выкинув» при этом предыдущего пользователя, но не завершив его сеанс. Поэтому следует перенести 1С на серверную ОС, где таких ограничений нет. Клиент на свой страх и риск решил проблему вместо этого с помощью сторонней утилиты Windows7_SP1_RDPhack.
Но на этом приключения не закончились. Даже в терминальном подключении остались значительные тормоза. Вновь меня выручили всемогущие поисковики. Ниже даны советы по ускорению файловой 1С, которым я последовал:
1. Отключить использование протокола сети IPv6, настроить адресацию на «старом» IPv4.
2. Добавить процессы 1С в исключения брандмауэра Windows, а также в исключения антивируса, либо отключить их вовсе (более рискованно, но простой тест показал увеличение скорости перепроведения документов при отключенном антивирусе Avast в разы!)
3. Запустить индексацию полнотекстового поиска в 1С либо выключить его вовсе
4. Запустить Тестирование и исправление базы, проверку утилитой ChDbfl
5. Запустить в конфигурации пункт Проверка конфигурации (если конфигурация не типовая, это может быть полезным). По результатам проверки конфигурации она волшебным образом уменьшилась в размерах почти на треть. Что уж и как до меня обновляли приходящие программисты — особо не вникал, но факт налицо.
6. Отключить ненужные функциональные опции.
7. Настроить права пользователям. (Этот и предыдущий советы показались глупостью, до тех пор, пока я не понаблюдал за отрисовкой управляемых форм при открытии списка документов. Чем меньше лишнего в управляемом интерфейсе — тем , как правило, быстрее он работает)
8. Запустить пересчет итогов и восстановление последовательности (значительный прирост может быть только в случае, если долгое время итоги не восстанавливались)
9. Указать «Скорость соединения — низкая» в настройках списка баз (это особого результата не дало, разве что отключились картинки у подсистем :))
После выполнения всех этих шагов файловая база 1С заработала на порядок шустрее. Запускаться стала максимум секунд за 10, а скорость перепроведения документов увеличилась в среднем в 12 раз.
Возможно, эта небольшая статья пригодится и вам, если вдруг понадобится ускорить файловую базу 1С.
P.S: А запустить файловую 1С, используя сетевой доступ к общей папке — все же нереально, т.к. даше самый шустрый твердотельный диск, оперативная память и процессор уткнутся в сетевые блокировки, и работа более одного пользователя будет фактически невозможна. Речь идет конкретно о конфигурации УТ 11.1. Самописные небольшие конфигурации вполне могут работать весьма быстро даже в файловом варианте.
Дополнения из комментариев к публикации:
Дефрагментация диска с файловой базой
Свертка базы (может оказаться полезной, если база большого объема, например, за несколько лет). У клиента база была достаточно молодая, поэтому свертка была нецелесообразна.
Модернизация аппаратной части — более быстрый винчестер, новый свитч, процессор, и т.д.
Установить на веб-сервер, доступ с помощью тонкого клиента. Тут мнения разделились. Кто-то говорит, в разы быстрее, кто-то — что ускорения не отмечено.
Буду признателен за комментарии и ваши голоса! 🙂
У меня работало 7 бухгалтеров в файловой БП 2.0 с включенным RLS. Первые пол года было нормально… потом производительность стала падать.
УТ 11 изначально видимо задумывалась для более крупных организаций чем 3 бухгалтера и с расчётом на то что будет сервер.
Windows7_SP1_RDPhack
а 1С то хоть под эмулем?
Нужно было организовывать работу через web-сервер. И было бы лицензионно
Ну собственно, тут уже ответили, я просто разверну подробнее:
Ставите IIS и поднимаете веб-доступ к базе. Причем это не обязательно веб-клиент, тонкий клиент тоже умеет работать по HTTP.
В результате, у вас к файлу базы будет иметь доступ только один единственный процесс — IIS. И он будет делать это не через сетевые протоколы, а локально. Профит.
(2) vano-ekt, Удивительно, но 1С у клиента оказалась лицензионная, с программными лицензиями, причем были активированы однопользовательские лицензии.
А вот операционка стояла Windows 7 Максимальная, разумеется «лицензионная»:)
(4) Evil Beaver, а что вэбовский вариант реально увеличит скорость? Я просто читал, что вэб требует ВСЕГДА свободный 80-й порт. И типа вообще вэб-режим очень капризный и нестабильный. Так ли это? Как на самом деле?
(6) Razlagutt, я пробовал поработать. Прирост скорости имеется, но были особенности при работе с табличными документами — из них нельзя было удалить строки (просто отсутствовала такая возможность). Долго разбираться не стал, через пару дней вернул тонкий клиент.
(6) Razlagutt, покажите мне, где вы это прочитали, и я порву автора как грелка, надутая на 120 атмосфер — тузика. Полный бред.
Веб-сервер можно разместить на любом свободном порту, главное — не забыть указать этот порт на клиенте.
Работа в браузере действительно менее стабильна и более медленна. Но никто не мешает использовать тонкий клиент, подключающийся к веб-серверу.
Если у конторы нет 14400 руб. на сервер МИНИ, о каких 2-3 пользователях может идти речь? Ну нечего нескольким пользователям делать в столь мелком «бизнесе».
А сервер — это не только
ценный мехскорость работы, но и гораздо большая надежность данных.кстати, об информационном партнере, ПО которого предлагается взламывать в статье — чет по ссылке нет статьи об ИС на его сайте больше
(10) vano-ekt, Никого из наших уважаемых «западных партнеров», как говорит Путин, взламывать нигде не предлагается:) Это не моя вотчина — взламывать операционные системы:) на то есть специально обученные эникейщики.
Бывают клиенты, которые пытаются экономить на всем на чем можно и нельзя — мол, у нас молодой бизнес, все деньги в рост. Через полгода-год, никуда не денутся, поставят и лицензионные ОС, и мини-сервер.
Весьма способствует дефрагментация диска с базой и собственно файла базы.
(11)
База начнет разрастаться и тормоза появятся вновь. с этим столкнулся, поставив бушку 3.0 по сети. Здесь решение только одно — переносить на SQL, или ставить мини-сервер, или выносить базу в облако. Особенно если по сети будет работать несколько пользователей.
«А запустить файловую 1С, используя сетевой доступ к общей папке — все же нереально, т.к. даше самый шустрый твердотельный диск, оперативная память и процессор уткнутся в сетевые блокировки, и работа более одного пользователя будет фактически невозможна.»
Ну не надо так категорично. Идиотскую УТ 11 , наверно, нельзя. А нормальную свою конфигурацию — можно, я так делал.
* К сожалению, Windows 7 не позволяет штатными средствами превратиться в сервер терминалов — максимум одно активное подключение
Сейчас уже точно не помню, но кажется Windows 7 позволяет делать до 4-х активных подключений безо всяких серверов терминалов. Там есть что-то типа галки «Удаленное управление». У меня была Windows 7 Ultimate. Может это от версии зависит? Кажется все-таки 4 подключения можно.
Спасибо за статью, все грамотно описано. Разве только добавить что некоторые операции вроде (пункты 3,4,8) нужно делать регулярно с разной периодичностью. Плюс недавно появился1С:Предприятие 8.3 сервер МИНИ на 5 подключений , стоит в районе 15000, что уже могут потянуть мини организации.
(11) до прихода особого отдела во многих компаниях есть взломанные продукты, после хорошего штрафа желание ставить пиратку пропадает. Верно вы говорите.
На веб-сервере никакого реального ускорения заметно не было. Тонкий клиент для всех тежелых баз (УТ11, БП30) дает реальное ускорение. Правда это ускорение в стили 1С. Но все же документ провести можно.
Про Свертку базы ни слова — уже не помогает?
(20) bulas, В том и юмор, что база крохотная. Поэтому про свертку ни слова. Более того, тормозить при сетевом доступе файловая УТ 11 начнет даже пустая 🙂
(2)(13)
Ставьте эту утилитку Windows7_SP1_RDPhack и будет счастье)
Подменяет стандартную termsrv.dll в которой возможно одно подключение и снимает ограничение по количеству подключений!
Дальше через «Подключение к удаленному рабочему столу»…..все пользователи подключаются к вашему «серверу».
Создаете на «сервере» пользователей и они независимо друг от друга работаю.
За счет этого база лежит на сервере и все пользователи работают на сервере, отсутствуют потери сетевого доступа к базе!
Проверенно работает, надежно!
поставил и забыл.
Аппаратные проблемы смотреть нужно все же в первую очередь. На практике видел как замена свитча решила проблему медленной работы в УТ 11 второго пользователя. Лично у себя, еще пример, менял винчестер на более быстрый — 3.0 стала открываться на ноуте за секунду.
вот, например, можно посмотреть .
Кстати, совет с отключением IPv6 скорее вредный. Я уж не говорю про брэндмауэр. Это можно позволить себе только ради экспериментов. Так например нормально, и не поимев проблем, выключит IPv6 не каждый
А вот остальное, это конечно да.
Спасибо за статью.
Все делал в отдельности, но вот так собранное в единое и систематизированное.
БП3.0 + УТ11.0 — всё файловое на простом сервере core i3, по 100 мб сети работают 5 человек + я подключаюсь из удаленного офиса работает прекрасно. Правда на SSD, но острой необходимости в сервере 1с не ощущается.
Тормозов в версии платформы 8.3.6 стало гораздо меньше.
А серверу МИНИ, какую СУБД использовать, чтоб бесплатно и не нарушая лицензионной политики компании в части ПО? MS SQL Express для базы БП 3.0 подойдет?
(26)
До поры до времени подойдёт. У MSSQL Express 2014 ограничение на размер БД 10Гб. И по-моему ещё на использование оперативы и процессора (только 1), но это уже не критично. С другой стороны я нигде не видел, чтобы 1С официально разрешала использование версии Express (хотя Майкрософт разрешает использовать его для работы). Видимо 1С не рекомендует в связи с ограничениями.
(27) west__, а явное «не рекомендует» Вы где-то видели?
1С вообще не дает каких-либо общих рекомендаций по выбору СУБД.
(26) Бугор, вполне. Пара нюансов: операции обслуживания БД и резервного копирования придется делать средствами внешнего планировщика. И сжатия архивов нет.
(26) Бугор, postgresql от 1С. На MS SQL Express должно встать, но по моему это нарушает лицензионное соглашение Microsoft, хотя я не помню — для коммерческого использования он разрешается?
+ подпишусь
1Cv81 УТ10.3 (Партионный учёт, контроль отрицательных остатков 33лаб ру). Очень, очень долго утром проводит первый документ. Помеченных на уд: 2341 помечены на удаление, возможно удалить 975, невозможно удалить 1366. Размер 1CD файла 7,5 Гб, а папки с базой 10 Гб. Номенклатура 25000 ед..
Подскажите плз как улучшить? Ранее ничего не предпринималось. Что в первую очередь сделать для оптимизации базы? Какой размер базы является критическим для этой конфигурации? Что сделать первоочерёдно или обязательно. Что посоветуете предпринимать раз в месяц, регулярно.
Win7 x64 8Gb RAM, отдельный HDD на котором находиться база, в терминальном режиме 3 рабочих места.
Напишите в ЛС советы пжста.
Читаю, вникаю, буду разрабатывать план мероприятий для улучшения работы УТ 10.3
(9) Антон Стеклов (asved.ru), скажите, речь идёт о сервере-мини 1С (1С:Пр 8.3. Сервер МИНИ на 5 подключений)?
(У клиента конфигурация: 1С Пр 8.2.13.219, УТ 10.3.16.1).
(33) Итоги пересчитайте.
Остальная оптимизация — по коду, в УТ 10.3 поле для оптимизационной деятельности огромное.
(34) Каких-либо перекрестных ограничений между вариантами поставки платформы и видом/редакциями/версиями СУБД нет. За единственным исключением — сервер приложения на Linux не работает с MSSQL.
Итоги пересчитываются регулярно.
Посоветуйте утилиту для переноса остатков, номенклатуры, контрагентов и т.д. на чистую 1С82 УТ 10,3, чтобы вручную не чистить устаревшие товары и документы.
Или хотя бы для начала, как удалить Номенклатуру, которая давно уже не нужна, но есть в документах связанных. Кто какие утилиты использует для обслуживания разросшейся УТ10.3 ?
Уважаемые, спецы по УТ 10.3, пожалуйста, поделитесь информацией о наиболее подходящей утилите, кто чем пользуется. Вопрос по прежнему актален. Спасибо.
Посоветуйте утилиту для переноса остатков, номенклатуры, контрагентов и т.д. на чистую 1С82 УТ 10,3, чтобы вручную не чистить устаревшие товары и документы.
Или хотя бы для начала, как удалить Номенклатуру, которая давно уже не нужна, но есть в документах связанных. Кто какие утилиты использует для обслуживания разросшейся УТ10.3 ?
Пришёл к выводу, что сворачивание базы решит вопрос чистки базы.
Сворачивание базы на тестовой базе не дало желаемого ркзультата, а ещё имеет огромный недостаток — занимает кучу времени и в самом конце, когда база была свернута, выяснилось, что остатки на текущий момент и в свернутой базе не совпадают. Поэтому, чтобы кардинально решить вопрос, было сделана очистка базы от всех документов, кроме инвентаризации (последней) цен номенклатуры. Номенклатура, которая на момент чистки база не используется.также была удалена.
(36) «За единственным исключением — сервер приложения на Linux не работает с MSSQL.»
нет такого понятия в Linux не работает. Руки прямые из плечей и желание… MSSQL официально работает под Linux как и терминалка 1с…