Почему при подключении к файловой по сети второго юзера база резко замедляется

Обновлено: 06.07.2024

Имеем 3 достаточно мощных компьютера с сетью 100 мегабит на двух пк win 7, на другом xp, база 1с находится с недавнего времени на машине, на которой установлена 7- ка.
Вариант А: Идет работа на машине где база - тормозов нет
Вариант B: Идет работа на машине где база,а так же подключается пользователь с любого из двух других пк - на этих пк начинаются тормоза в работе 1с ( например "заедание" прокрутки списка выписки) ( или документы долго открывает)
Вариант C : На машине где база 1с не запущено , при подключении с других пк тормозов не наблюдается.
И так ,вариант с нехваткой мощности компьютеров отпадает , вариант с сетью тоже , так как раньше до обновления компьютера где находятся базы все работало без тормозов. Предполагаю что проблема кроется в конфронтации самой базы с win7 и сетевыми настройками, так же возможно что база большая порядка 5 гб , может в момент работы с базами сеть перегружена , так как еще есть и другие компьютеры в сети ,но на них не ведется работа в 1с. Это основное . Еще есть мысли : Грубо говоря когда мы с другого пк обращаемся к пк с базой , то запрос проходит через сеть дальше запрос обрабатывается сетью в win7 после чего направляется в 1с за получением той или иной информации и возможно что на этом моменте и затыкается, если проходит дальше , то как вариант долго в базе ищет нужную информацию прежде чем вывести ее на втором пк , отсюда мы на втором пк видим фризы и зависания. На этом мысли заканчиваются и остается последнее начать работать на 8.3 ,но бухгалтерия пока работает с 7.2 и к сожалению комфортно работать из-за описанной выше проблемы не может. Если вы сталкивались с данной проблемой или можете подсказать еще идеи и конкретные методы борьбы с данным недугом и в какую еще можно сторону смотреть - буду рад ! Если это поможет еще решить данную проблему - буду бесконечно Вам благодарен и рад ! Спасибо !

Оценить 2 комментария

Winsik

попробуйте на локальной машине доступ к базе сделать тоже по сети , то есть обратиться самому к себе

Winsik

а потом в интернете полно ссылок по запросу "1с тормозит по сети windows 7"

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

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

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

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

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

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

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

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

Хочешь научиться автоматически разворачивать и поддерживать высоконагруженные проекты? Тогда рекомендую познакомиться с онлайн курсом " Infrastructure as a code." в OTUS. Актуально для системных администраторов и devops инженеров. Подробности по .

Введение

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

А если вы выходите за возможности работы в файловых базах, дальше вам нужно будет платить в разы больше. Там нужна будет и лицензия на сам сервер 1С, на серверную ОС, на лицензию MSSQL, если выберите ее и т.д. В общем, там совсем другие бюджеты. Не хочу в данной статье останавливаться на разборе цен, так как они постоянно меняются. И будут сильно отличаться в зависимости от выбранной схемы работы.

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

Использование SSD диска

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

Первое, с чего начинаем ускорение файловой базы - переносим ее на SSD. На обычных дисках с ней сейчас вообще невозможно работать даже одному. Пи этом имейте ввиду, что если с базами интенсивно работают, ресурс бюджетных ssd дисков будет очень быстро расходоваться. Я хоть и давненько уже, но помню, как в одном месте менял эти диски каждые полгода, год. Так что обязательно бэкапы и по возможности raid1 или raid10.

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

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

Настройка регламентных заданий

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

Настройка регламентных заданий в 1С

Это то, что точно не нужно. Так же возможно вам не нужно построение и обновление полнотекстового индекса. Это задание по дефолту стартует каждые 60. секунд и катастрофически снижает работу файловой базы. Более того, я видел глюки перестроения индекса, когда в директории с файловой базой 1С в папке 1Cv8FTxt копились десятки тысяч мелких файлов.

Ускорение файловой базы 1с

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

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

Меня один раз просили сделать аудит 1С сервера, который жутко тормозил. При этом там одновременно работало не так много людей, около 10. А железо должно было тянуть человек 50. Баз было много, в том числе тестовых, но людей-то работало мало. Сами по себе базы не должны нагружать сервер.

У директора уже лежал счет на сотни тысяч рублей на новый сервер, который должен был ускорить работу 1С. Я просто зашел на сервер поздно вечером, когда там не было людей и увидел, что процессор в потолок уперся от процессов 1С. Стал разбираться, что там происходит. Оказалось, на всех базах были дефолтные регламентные задания. Достаточно было хотя бы на тестовых их отключить вообще, чтобы нагрузка упала вдвое. А дальше уже стали и в рабочих базах разбираться. Новый сервер не понадобился. Так я за один вечер сэкономил примерно 400 т.р., на которые был счет.

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

Переход на публикацию в WEB

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

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

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

Добавление информационной базы

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

Терминальный доступ к файловой базе

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

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

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

Заключение

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

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

  • Бухгалтерский учет для государственных учреждений Казахстана, редакция 4.0;
  • Бухгалтерский учет для государственных предприятий Казахстана, редакция 2.0;
  • Бухгалтерия для Казахстана, редакция 3.0;
  • Розница для Казахстана, редакция 2.0;
  • Управление торговлей для Казахстана, редакция 3.0;
  • Управление нашей фирмой для Казахстана;
  • Зарплата и управление персоналом для Казахстана, редакция 3.0;
  • и другие.

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

Шаг 1. Копирование базы

Шаг 2. Тестирование и исправление информационной базы

  • Реиндексация таблиц информационной базы;
  • Проверка логической целостности информационной базы;
  • Проверка ссылочной целостности информационной базы;
  • Пересчет итогов;
  • Реструктуризация таблиц информационной базы.

При наличии ссылок на несуществующие объекты: очищать ссылки.

При частичной потере данных объектов: удалять объект.

Тестирование и исправление информационной базы

Частота выполнения: один раз в 2-4 недели.

Совет 2. Улучшение аппаратных компонентов компьютера

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

Оперативная память (ОЗУ)

Локальная сеть

Ограничение шириной канала

Не использовать нестабильное беспроводное соединение Wi-Fi, особенно при плохом уровне сигнала. В большинстве случаем Wi-Fi сеть не обеспечивает должной пропускной способности и стабильности.

Нужна стабильная сеть

Проверить стабильность соединения до основного компьютера: простейшая команда ping (ip-адрес-основного-компьютера) -t покажет общую картину.

Сетевой канал может резко терять стабильность на больших пакетах. Если обычная команда ping не выявляет потерь, то есть смысл проверить так:

ping server -n 100 -l 50000

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

ping server -t

Обмен пакетами с server [192.168.1.101] с 32 байтами данных:

Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=19мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=8мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=5мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=8мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=5мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=10мс TTL=128
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Ответ от 192.168.1.101: число байт=32 время=1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=2мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=4мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=19мс TTL=128
Ответ от 192.168.1.101: число байт=32 время=3мс TTL=128

ping server -t

Обмен пакетами с server [192.168.1.101] с 32 байтами данных:

Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128
Ответ от 192.168.1.101: число байт=32 время<1мс TTL=128

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

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

Тонкий клиент 1С

Пропускная способность 1 Гбит/с

Результаты условного замера производительности

Дисковая подсистема

Высокая производительность Электропитание Windows

Не отключать жесткий диск при простое

Совет 3. Настроить работу в связке 1С+веб-сервер

Работа с файловой базой данных через веб-сервер возможна с помощью тонкого клиента или веб-клиента. Но, лучше использовать тонкий клиент. Он быстрее чем браузер примерно на 20%, а также может использовать локальные лицензии. Веб-клиент может использовать только клиентские лицензии сервера.

Работа с файловой базой данных через веб-сервер

Чтобы завершить установку веб-сервера Apache необходимо установить его службой в операционную систему: запустить командную строку cmd с правами администратора и выполнить следующую команду:

Модули расширения веб-сервера 1С

Публикация 1С на веб-сервере

Заполнить несколько полей:

Доступ к опубликованной базе с других компьютеров

Статический ip-адрес

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

Блокировка порта веб-сервера

Выводы

Читайте также: