Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 1C: Предприятие, SAP, ERP и учётные системы > Как ускорить время доступа к локальной базе?


Автор: Max1m 30.5.2007, 12:54
На фирме, где я устроился наладчиком есть проблема с 1С версии 7.7. 
Описане ситуации: На сервере хранится локальная база данных, к ней обращаются 9 клиентских машин, причем если 2-3 из них в данный конкретный момент обращаются к данным базы, то 4-ая машина ждёт обработки данных (в лучшем случае) 2-3минуты. Я понимаю, что этого не может быть. Это -явный сбой или неправильная настройка конфигуратора.
Если кто-нибудь из Вас встречался с подобной проблеммой или просто знает возможность решения - пожалуйста, напишите возможные варианты розрешения проблеммы.
Заранее премногоблагодарен за Вашу помощь.

Автор: _Valery_ 30.5.2007, 17:20
Если 1C-база в файловом варианте (данные хранятся в dbf-файлах) и в ней достаточно много данных, то со временем она начинает притормаживать =(
Пути борьбы с этим безобразием (предварительно надо всех пользователей выгнать из программы и сделать резервную копию!!!) :
1. Сделать переиндексацию - а именно удалить из каталога базы все индексные файлы (cdx) и запустить базу в режиме Предприятие в монопольном режиме.
2. Сделать в режиме Конфигуратор "Тестирование и исправление"
3. Сделать в Конфигураторе "Выгрузить информационную базу", установить чистую 1С и в нее через Конфигуратор, опять же, "Загрузить информационную базу" (то что выгрузили из своей) + в "новенькую" перекнести из старой вложенный каталог ExtForms. 

Как правило после этого база работает быстрее.
Это если дело в самой 1С.
Если же какие-то настройки сети мешают - то тут я вряд ли подскажу...

Автор: Max1m 1.6.2007, 16:22
2 Valery Спасибо за Ваш ответ. Попробовал сделать как Вы советовали, но, к сожалению, безрезультатно.
Настройки сети я проверил в первую очередь - там всё в порядке.
Очевидно проблемма в распределении прав доступа между пользователями, так как при роботе одного пользователя(зшедшего с любой из машин сети) время отзыва базы - минимально(буквально пара секунд). Если же подключается второй пользователь во время роботы первого - то второй машине уже приходится ждать задержку(примерно от минуты до 3ёх!).
Пожалуйста, если у кого-нибудь возникнут идеи по решению данного вопроса - пожалуйста, отпишите.

Автор: Zero 3.6.2007, 21:56
Max1m, есть другой вариант. У нас стоит один мощный комп, мы его сделали сервером и на нём установлена сетевая версия 1С. ОС Windows 2003 Server. А остальные компы работают в терминале эмулируя сам сервак. Т.е. посылают запросы на обработку на сервер, на нём всё выполняется и рез-т возвращаеться на клиентские компы.
У нас стоит 15 компов, всё работает отлично. Причём независимо от того, что некоторые компы полный хлам.

Автор: evGenie 7.6.2007, 11:35
Да, надо переводить всех в терминал или переходить на SQL-версию.

Автор: Lustin 8.6.2007, 23:29
А вот такую связку не пробовали -  1С77s + MSDE2000 + 1cpp.dll + toySQL.
или также 1С77 + vfpOLEDB + 1cpp.dll 

Теперь по проблеме:
1. Управление компьютером - Открытые файлы = необходимо смотреть как ведут себя клиентские машины  по сети
2. _GetPerformanceCounetr или Замер Отладчика покажут слабые места по времени.
3. Если сеть с Доменом, необходимо посмотреть в сторону ActiveDirectory и ЖурналаСобытий системы
4. Перекопирования баз с места на место причину не выявят и не исправят.....



Автор: evGenie 9.6.2007, 07:59
Цитата(Lustin @  9.6.2007,  02:29 Найти цитируемый пост)
А вот такую связку не пробовали -  1С77s + MSDE2000 + 1cpp.dll + toySQL.
или также 1С77 + vfpOLEDB + 1cpp.dll 

Это уже потребует серьезных модификаций конфигурации.

Автор: Lustin 9.6.2007, 08:19
Цитата(evGenie @ 9.6.2007,  07:59)
Это уже потребует серьезных модификаций конфигурации.

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

А насчет серьезных модификаций...

Если сервер + сеть не справляются с 3-мя активно работающими пользователями, серьезные модификации необходимы однозначно   smile .

Автор: dumb 9.6.2007, 12:20
Цитата(Lustin @  9.6.2007,  08:19 Найти цитируемый пост)
но анализ узких мест покажет где проблема

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

Автор: Zero 11.6.2007, 08:40
Цитата(dumb @  9.6.2007,  12:20 Найти цитируемый пост)
это и без анализа ясно - проблема в механизме кэширования "расшаренных" файлов в виндузе.

И что же конкретно за проблема?

Автор: dumb 14.6.2007, 12:29
Цитата
Это сообщение отредактировал(а) stron

smile


Цитата(Zero @  11.6.2007,  08:40 Найти цитируемый пост)
что же конкретно за проблема?

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

Автор: dionisiu 14.6.2007, 12:52
может, юзверь больно опытный попался, или права где получил? вот у нас, например, админский пароль на сеть и сервера не знает только уборщица (ей дела нету), а так, как в примере Zero, я вхожу в терминал, запускаю отчёт по обороту продукции по датам по агентам по клиентам по позициям по-штучно (нужно очеень), после чего заставляю это всё сохранить в эксель (6 метров отчёта), и чтоб сильно долго мне не ждать, в диспетчере задач ставлю себе высший приоритет, после чего ни один другой юзверь даже курсор мышки не может по экрану сдвинуть (я, кстати, тоже), пока сохранение не завершится.

может, и у Вас такой-же "админ" завёлся?

Автор: Max1m 15.6.2007, 12:16
Спасибо за помощь. Буду настаивать на изменении конфигурации.
2 dionisiu Админ на нашем предприятии, волею судеб, я. По сути заниматься должен только сетью, софтом и железом, а приходится(как в принципе это часто бывает) заниматься чемто посторонним - в данном слчае 1С. Сеть настроена нормально, поэтому я так понял(с помощью Ваших ответов), что проблемма действительно заключается в конфигурации.
PS Всё также жду Ваших предложений по решению данного вопроса, так-как конфигурация покаместь еще та же.

Автор: Zero 15.6.2007, 22:33
Цитата(Max1m @  15.6.2007,  12:16 Найти цитируемый пост)
Сеть настроена нормально, поэтому я так понял(с помощью Ваших ответов), что проблемма действительно заключается в конфигурации.

Max1m, если конфига у тебя типовая, то проблема однозначно не в ней. Кроме того нужно смотреть на то какая у тебя ОС. В частности если это XP, то у неё есть ограничение на одновременное количество открытых файлов, и соответетственно количество пользователей одновременно работающих в сети.
В качестве решения рекомендую ставить на сервер (где находиться база конфигурации 1С) Windows 2000 Server или 2003. Лучше 2003.
После установке этой ОС, и правильной её настройки, проблемы которые сейчас у тебя присутствуют, полностью отпадут.
Кроме того, если сервак мощный, а остальные компы слабые, советую в настройках ОС разрешнить удалённое подключение. И с клиентских машин заходить в терминале к серверу.
PS: это самый эффективный и правильный способ из всех предложенных.
Можешь мне поверить... Я тоже админ 1С, у нас на фирме сейчас 16 компов, размер базу уже приближен к 2ГБ. Тем неменее, работает пока всё а ура. Тьфу, тьфу. smile 

Автор: dionisiu 16.6.2007, 13:26
Цитата(Max1m @  15.6.2007,  12:16 Найти цитируемый пост)
 Админ на нашем предприятии, волею судеб, я. 

сочувствую.
но я не об этом. Вопрос
Цитата(dionisiu @  14.6.2007,  12:52 Найти цитируемый пост)
может, и у Вас такой-же "админ" завёлся? 

подразумевал следующее: кто из сотрудников может знать админский пароль, или имеет права на запуск диспетчера задач (у меня дополнительно есть "официальный" логин и пароль к серверу в роли "гостя", под этой учётной записью я не могу в диспетчере выставить приоритет и/или посмотреть чужие процессы).

Перечитал топик и не понял одной вещи: Вы говорите
Цитата(Max1m @  30.5.2007,  12:54 Найти цитируемый пост)
На сервере хранится локальная база данных, к ней обращаются 9 клиентских машин, 

То есть, сервер - не терминальный, а файловый (расшареный каталог с файлами базы), и на остальных 9-ти машинах локальные установки 1С-ки с путём к инфобазе типа "\\server\Base1C\" - так, что ли? Тогда мой совет Вам не подходит однозначно - тут проблемы сети и/или файл-сервера.

У нас проще: есть машина под W2Ks, на ней установлена 1С77 (если не ошибаюсь - профессионал, но не SQL, файловая), через службу терминалов юзверь подключается и открывает себе удалённый рабочий стол (12 машин, 15 лицензий), запускает на сервере свой экземпляр 1С-ки и работает, пока не надоест. А тут такой я подключаюсь и говорю: "Пока"  smile , то есть - мой процесс достоин быть в приоритете....

Сорри за непроизвольный оффтоп.

Автор: SaschaL 17.6.2007, 02:27
Доброго времени суток!
У нас в конторе былр подобная проблема.
Пропала она после слудующих действий:
Перенос базы на машину с установленной оперционной системой MS Windows 2003 Server 
Клиенские части терминального подключения к серверу, все пользователи этой базы цепляются через терминал
Иными словами обратка проводится на серверной машине!
так же для всех пользователей работающих с этой базой и терминальным подключением объединили в одну рабочую группу и назначили все одни равнозначные права!
Проблема на этом исчерпа себя. Что конкретно убрало проблему точно не скажу, может все меры вышеперечисленные в сумме. Хотя в базе у нас работает одновременно до 15 пользователей!

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

Добавлено через 3 минуты и 27 секунд
Да ксати забыл маленькие подробности часть конфигурации я переделывал под свое предприятие, имелась такая необходимость, мною были переделаны некоторые обработки и отчеты, так часть конфы правили для нашего предприятия партнеры 1С.
 

Автор: Max1m 19.6.2007, 12:30
2 dionisiu
Пароль кроме меня знают еще 2 человека, но я точно знаю что с диспечером они не балуются(чесно говоря - с трудом  верится что они ВООБЩЕ знают как).

Сервер - действительно файловый - не более( что меня прсто ставит в тупик, ведь 1С стоит SQLевский и я прекрасно понимаю что, по идее, на сервере должна стоять серверная часть SQL, а на других - клиентские, но..... такова была конфикурация когда я пришел на фирму) ОС - Windows 2003SE. Админ, ставивший и настраивавший всю сеть с самого начала(это было еще ДО моего прихода) с своей задачей справился на "ура" - сама сеть и права розданы какнельзя лучшим образом.

2 SaschaL
"Иными словами обратка проводится на серверной машине!"
Как раз сейчас я и пытаюсь добиться от директора разрешения на такуюже как и у Вас методу работы, либо попытаюсь нормально настроить Клиент-Скрверный SQL, который сейчас является, по сути, только(!) клиентским(- без сервера) SQLем.

Спасибо за Ваше участие и помощь в розрешении проблеммы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)