Тормоза на файловой базе - как избежать (из недавнего опыта)

Администрирование - Оптимизация БД (HighLoad)

тормозит файловая база 1С файловая база 1С тормоза 1С файловая база по сети файловая база 1С файл-сервер 1С тормозит 1С

102
1С запускается по две минуты? Журнал документов открывается по 40 секунд? Документ проводится почти минуту?
Знакомая ситуация, если вы используете файловую версию с сетевым доступом. Самый распространенный совет - ставить сервер, и забыть про тормоза.
Но как быть, если в 1С у вас всего работает 2-3 человека, и тратить деньги на покупку серверных лицензий - явно невыгодно?
В данной статье рассмотрены несколько практических шагов, которые были предприняты у клиента для ускорения работы файловой базы.
Платформа 1С 8.3, управляемые формы, тонкий клиент, база - Управление Торговлей 11.

Симптомы пациента и анамнез:

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

Основные признаки  работы блокировок: 

  • быстрая работа пользователя с базой по сети в монопольном режиме и крайне медленная - при одновременной работе нескольких пользователей
  • быстрая работа пользователя с локальной базой на сервере и медленная - по сети
  • процессор на сервере почти не занят
  • загрузка гигабитной сетевой карты меньше 5%
  • обращения к файловой системе чуть менее 10 мбайт/сек

Итак, мне досталась задача - сделать так, чтобы в 1С могли одновременно работать целых три пользователя! Смешно, не так ли?

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

Счастье было бы неполным, если бы не замечательные операционные системы - на компьютере и на одном ноутбуке 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. Самописные небольшие конфигурации вполне могут работать весьма быстро даже в файловом варианте.

 

Дополнения из комментариев к публикации:

Дефрагментация диска с файловой базой

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

Модернизация аппаратной части - более быстрый винчестер, новый свитч, процессор, и т.д.

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

Буду признателен за комментарии и ваши голоса! :)

 

102

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. TODD22 17 12.07.15 15:22 Сейчас в теме
У меня работало 7 бухгалтеров в файловой БП 2.0 с включенным RLS. Первые пол года было нормально... потом производительность стала падать.
УТ 11 изначально видимо задумывалась для более крупных организаций чем 3 бухгалтера и с расчётом на то что будет сервер.
2. vano-ekt 1117 12.07.15 15:51 Сейчас в теме
Windows7_SP1_RDPhack
а 1С то хоть под эмулем?
5. axelerleo 276 12.07.15 19:42 Сейчас в теме
(2) vano-ekt, Удивительно, но 1С у клиента оказалась лицензионная, с программными лицензиями, причем были активированы однопользовательские лицензии.
А вот операционка стояла Windows 7 Максимальная, разумеется "лицензионная":)
22. SOLTAN 10 15.07.15 10:19 Сейчас в теме
(2)(13)
Ставьте эту утилитку Windows7_SP1_RDPhack и будет счастье)
Подменяет стандартную termsrv.dll в которой возможно одно подключение и снимает ограничение по количеству подключений!
Дальше через "Подключение к удаленному рабочему столу".....все пользователи подключаются к вашему "серверу".
Создаете на "сервере" пользователей и они независимо друг от друга работаю.
За счет этого база лежит на сервере и все пользователи работают на сервере, отсутствуют потери сетевого доступа к базе!
Проверенно работает, надежно!
поставил и забыл.
3. shibanovan 60 12.07.15 16:48 Сейчас в теме
Нужно было организовывать работу через web-сервер. И было бы лицензионно
acanta; Protman; orfos; Исключение; gigapevt; JohnConnor; BigB; Inkeeper; Evil Beaver; ekaruk; +10 Ответить
4. Evil Beaver 5337 12.07.15 19:13 Сейчас в теме
Ну собственно, тут уже ответили, я просто разверну подробнее:
Ставите IIS и поднимаете веб-доступ к базе. Причем это не обязательно веб-клиент, тонкий клиент тоже умеет работать по HTTP.
В результате, у вас к файлу базы будет иметь доступ только один единственный процесс - IIS. И он будет делать это не через сетевые протоколы, а локально. Профит.
acanta; user790607; JohnConnor; Protman; Berckk; dj_serega; 2tone; orfos; syuzyov; Yashazz; Avet01; Исключение; Dimkasan; Созинов; awa; i.c.h; axelerleo; +17 Ответить
6. Razlagutt 13.07.15 09:17 Сейчас в теме
(4) Evil Beaver, а что вэбовский вариант реально увеличит скорость? Я просто читал, что вэб требует ВСЕГДА свободный 80-й порт. И типа вообще вэб-режим очень капризный и нестабильный. Так ли это? Как на самом деле?
7. cleaner_it 233 13.07.15 14:59 Сейчас в теме
(6) Razlagutt, я пробовал поработать. Прирост скорости имеется, но были особенности при работе с табличными документами - из них нельзя было удалить строки (просто отсутствовала такая возможность). Долго разбираться не стал, через пару дней вернул тонкий клиент.
Protman; Razlagutt; +2 Ответить
8. asved.ru 36 14.07.15 06:03 Сейчас в теме
(6) Razlagutt, покажите мне, где вы это прочитали, и я порву автора как грелка, надутая на 120 атмосфер - тузика. Полный бред.

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

Работа в браузере действительно менее стабильна и более медленна. Но никто не мешает использовать тонкий клиент, подключающийся к веб-серверу.
Protman; ogre2007; west__; Razlagutt; +4 Ответить
9. asved.ru 36 14.07.15 06:13 Сейчас в теме
как быть, если в 1С у вас всего работает 2-3 человека, и тратить деньги на покупку серверных лицензий - явно невыгодно


Если у конторы нет 14400 руб. на сервер МИНИ, о каких 2-3 пользователях может идти речь? Ну нечего нескольким пользователям делать в столь мелком "бизнесе".

А сервер - это не только ценный мех скорость работы, но и гораздо большая надежность данных.
34. validat 1 24.01.17 13:53 Сейчас в теме
(9) Антон Стеклов (asved.ru), скажите, речь идёт о сервере-мини 1С (1С:Пр 8.3. Сервер МИНИ на 5 подключений)?
(У клиента конфигурация: 1С Пр 8.2.13.219, УТ 10.3.16.1).
36. asved.ru 36 24.01.17 17:17 Сейчас в теме
(34) Каких-либо перекрестных ограничений между вариантами поставки платформы и видом/редакциями/версиями СУБД нет. За единственным исключением - сервер приложения на Linux не работает с MSSQL.
10. vano-ekt 1117 14.07.15 08:04 Сейчас в теме
кстати, об информационном партнере, ПО которого предлагается взламывать в статье - чет по ссылке нет статьи об ИС на его сайте больше
11. axelerleo 276 14.07.15 08:57 Сейчас в теме
(10) vano-ekt, Никого из наших уважаемых "западных партнеров", как говорит Путин, взламывать нигде не предлагается:) Это не моя вотчина - взламывать операционные системы:) на то есть специально обученные эникейщики.
Бывают клиенты, которые пытаются экономить на всем на чем можно и нельзя - мол, у нас молодой бизнес, все деньги в рост. Через полгода-год, никуда не денутся, поставят и лицензионные ОС, и мини-сервер.
13. vano-ekt 1117 14.07.15 10:20 Сейчас в теме
(11)
У клиента вопрос был решен с помощью сторонней утилиты Windows7_SP1_RDPhack.

18. Созинов 14.07.15 19:14 Сейчас в теме
(11) до прихода особого отдела во многих компаниях есть взломанные продукты, после хорошего штрафа желание ставить пиратку пропадает. Верно вы говорите.
12. CheBurator 3565 14.07.15 09:55 Сейчас в теме
Весьма способствует дефрагментация диска с базой и собственно файла базы.
kite2; axelerleo; +2 Ответить
14. Чарик 2 14.07.15 10:41 Сейчас в теме
База начнет разрастаться и тормоза появятся вновь. с этим столкнулся, поставив бушку 3.0 по сети. Здесь решение только одно - переносить на SQL, или ставить мини-сервер, или выносить базу в облако. Особенно если по сети будет работать несколько пользователей.
15. bulpi 136 14.07.15 11:47 Сейчас в теме
"А запустить файловую 1С, используя сетевой доступ к общей папке - все же нереально, т.к. даше самый шустрый твердотельный диск, оперативная память и процессор уткнутся в сетевые блокировки, и работа более одного пользователя будет фактически невозможна."

Ну не надо так категорично. Идиотскую УТ 11 , наверно, нельзя. А нормальную свою конфигурацию - можно, я так делал.
klinval; Berrimor; axelerleo; +3 Ответить
16. kite2 27 14.07.15 16:47 Сейчас в теме
* К сожалению, Windows 7 не позволяет штатными средствами превратиться в сервер терминалов - максимум одно активное подключение

Сейчас уже точно не помню, но кажется Windows 7 позволяет делать до 4-х активных подключений безо всяких серверов терминалов. Там есть что-то типа галки "Удаленное управление". У меня была Windows 7 Ultimate. Может это от версии зависит? Кажется все-таки 4 подключения можно.
17. Созинов 14.07.15 19:11 Сейчас в теме
Спасибо за статью, все грамотно описано. Разве только добавить что некоторые операции вроде (пункты 3,4,8) нужно делать регулярно с разной периодичностью. Плюс недавно появился 1С:Предприятие 8.3 сервер МИНИ на 5 подключений, стоит в районе 15000, что уже могут потянуть мини организации.
axelerleo; +1 Ответить
19. orfos 35 14.07.15 21:11 Сейчас в теме
На веб-сервере никакого реального ускорения заметно не было. Тонкий клиент для всех тежелых баз (УТ11, БП30) дает реальное ускорение. Правда это ускорение в стили 1С. Но все же документ провести можно.
20. bulas 111 15.07.15 09:36 Сейчас в теме
Про Свертку базы ни слова - уже не помогает?
21. axelerleo 276 15.07.15 09:38 Сейчас в теме
(20) bulas, В том и юмор, что база крохотная. Поэтому про свертку ни слова. Более того, тормозить при сетевом доступе файловая УТ 11 начнет даже пустая :)
23. a_titeev 6 15.07.15 10:40 Сейчас в теме
Аппаратные проблемы смотреть нужно все же в первую очередь. На практике видел как замена свитча решила проблему медленной работы в УТ 11 второго пользователя. Лично у себя, еще пример, менял винчестер на более быстрый - 3.0 стала открываться на ноуте за секунду.
Кстати, совет с отключением IPv6 скорее вредный. Я уж не говорю про брэндмауэр. Это можно позволить себе только ради экспериментов. Так например нормально, и не поимев проблем, выключит IPv6 не каждый вот, например, можно посмотреть.
А вот остальное, это конечно да.
24. vkozak 15.07.15 10:42 Сейчас в теме
Спасибо за статью.
Все делал в отдельности, но вот так собранное в единое и систематизированное.
25. kksav 15.07.15 15:28 Сейчас в теме
БП3.0 + УТ11.0 - всё файловое на простом сервере core i3, по 100 мб сети работают 5 человек + я подключаюсь из удаленного офиса работает прекрасно. Правда на SSD, но острой необходимости в сервере 1с не ощущается.
Тормозов в версии платформы 8.3.6 стало гораздо меньше.
bellaform; +1 Ответить
26. Бугор 6 15.07.15 20:56 Сейчас в теме
А серверу МИНИ, какую СУБД использовать, чтоб бесплатно и не нарушая лицензионной политики компании в части ПО? MS SQL Express для базы БП 3.0 подойдет?
27. west__ 14 16.07.15 00:30 Сейчас в теме
(26)
До поры до времени подойдёт. У MSSQL Express 2014 ограничение на размер БД 10Гб. И по-моему ещё на использование оперативы и процессора (только 1), но это уже не критично. С другой стороны я нигде не видел, чтобы 1С официально разрешала использование версии Express (хотя Майкрософт разрешает использовать его для работы). Видимо 1С не рекомендует в связи с ограничениями.
28. asved.ru 36 17.07.15 05:56 Сейчас в теме
(27) west__, а явное "не рекомендует" Вы где-то видели?

1С вообще не дает каких-либо общих рекомендаций по выбору СУБД.
29. asved.ru 36 17.07.15 06:00 Сейчас в теме
(26) Бугор, вполне. Пара нюансов: операции обслуживания БД и резервного копирования придется делать средствами внешнего планировщика. И сжатия архивов нет.
30. Созинов 21.07.15 19:38 Сейчас в теме
(26) Бугор, postgresql от 1С. На MS SQL Express должно встать, но по моему это нарушает лицензионное соглашение Microsoft, хотя я не помню - для коммерческого использования он разрешается?
31. djam_arttek 6 26.08.15 15:23 Сейчас в теме
33. validat 1 21.01.17 02:39 Сейчас в теме
1Cv81 УТ10.3 (Партионный учёт, контроль отрицательных остатков 33лаб ру). Очень, очень долго утром проводит первый документ. Помеченных на уд: 2341 помечены на удаление, возможно удалить 975, невозможно удалить 1366. Размер 1CD файла 7,5 Гб, а папки с базой 10 Гб. Номенклатура 25000 ед..
Подскажите плз как улучшить? Ранее ничего не предпринималось. Что в первую очередь сделать для оптимизации базы? Какой размер базы является критическим для этой конфигурации? Что сделать первоочерёдно или обязательно. Что посоветуете предпринимать раз в месяц, регулярно.
Win7 x64 8Gb RAM, отдельный HDD на котором находиться база, в терминальном режиме 3 рабочих места.
Напишите в ЛС советы пжста.

Читаю, вникаю, буду разрабатывать план мероприятий для улучшения работы УТ 10.3
35. asved.ru 36 24.01.17 17:15 Сейчас в теме
(33) Итоги пересчитайте.
Остальная оптимизация - по коду, в УТ 10.3 поле для оптимизационной деятельности огромное.
37. validat 1 27.06.17 23:38 Сейчас в теме
Итоги пересчитываются регулярно.

Посоветуйте утилиту для переноса остатков, номенклатуры, контрагентов и т.д. на чистую 1С82 УТ 10,3, чтобы вручную не чистить устаревшие товары и документы.

Или хотя бы для начала, как удалить Номенклатуру, которая давно уже не нужна, но есть в документах связанных. Кто какие утилиты использует для обслуживания разросшейся УТ10.3 ?
38. validat 1 03.07.17 23:04 Сейчас в теме
Уважаемые, спецы по УТ 10.3, пожалуйста, поделитесь информацией о наиболее подходящей утилите, кто чем пользуется. Вопрос по прежнему актален. Спасибо.

Посоветуйте утилиту для переноса остатков, номенклатуры, контрагентов и т.д. на чистую 1С82 УТ 10,3, чтобы вручную не чистить устаревшие товары и документы.

Или хотя бы для начала, как удалить Номенклатуру, которая давно уже не нужна, но есть в документах связанных. Кто какие утилиты использует для обслуживания разросшейся УТ10.3 ?
39. validat 1 14.07.17 16:20 Сейчас в теме
Пришёл к выводу, что сворачивание базы решит вопрос чистки базы.
40. validat 1 17.11.18 03:34 Сейчас в теме
Сворачивание базы на тестовой базе не дало желаемого ркзультата, а ещё имеет огромный недостаток - занимает кучу времени и в самом конце, когда база была свернута, выяснилось, что остатки на текущий момент и в свернутой базе не совпадают. Поэтому, чтобы кардинально решить вопрос, было сделана очистка базы от всех документов, кроме инвентаризации (последней) цен номенклатуры. Номенклатура, которая на момент чистки база не используется.также была удалена.
Оставьте свое сообщение