Имя: Пароль:
1C
Админ
Как можно отследить узкое место файловой 1Сv8.1 по сети?
0 happysanta
 
24.09.12
14:33
Имеется главный офис, удаленные филиалы и распределенная 1С v8.1 объемом >3GB. Обмен происходит по FTP за неимением других средств.

В удаленных филиалах стоит по две машины: PC1, PC2. На машинах стоят:

ОС: Windows XP со включенной SRP (т.е. антивирусов нет).
Сеть: PC1 и PC2 соединены через свич 100mbps и получают адреса DHCP от ADSL-модема.
Сетевые адаптеры: интегрированные realtek.
Процессоры: Celeron ~2gHz, Atom ~2x1.66gHz.
ОЗУ: ~1gB.
ЖД: обыкновенные барракуды 7200rpm
Логическая структура разделов ЖД: 2гБ — файл подкачки, 15гБ — раздел под базу, 40гБ — системный раздел, 25гБ — раздел под бэкапы. Раздел подкачки и БД имеют размер кластера = 64кБ.
Доступ к БД: Для PC1 путь к БД имеет вид: x:\base\, для PC2 имеет вид: \\PC1\base\

Все вышеперечисленное было сделано по наитию и дало прирост производительности на PC1 >200% относительно первоначального положения.

Основные задержки происходят при поиске в БД считанного сканером штрих-кода товара, либо дисконтной карты (30 -> 7 сек. после оптимизации)

На данный момент ситуация такова: PC — летает, никто не жалуется на пятисекундные задержки, но на PC2 задержки доходят до 30-40сек при создании нового чека, при поиске дисконтной карты. Самое обидное, что в момент подвисания я не вижу никакой нагрузки на сеть и процессоры. Хотелось бы узнать практические советы и ссылки на полезную информацию.

В интернете читал много, но там в основном про оптимизацию под SQL и RDP, что меня совершенно не уместно. Говорят, можно чистить логи каждый день, подумываю еще подключить сетевой диск, чтобы PC2 смотрел в путь x:\base — есть смысл?
1 echo77
 
24.09.12
14:38
Celeron 2GHz и Atom - это не весело.
Дай угадаю, база лежит на PC1?
Сеть 100МБит - это не очень
Вообще фиговая картина.
2 vde69
 
24.09.12
14:41
файловые базы преднозначенны только для демонстраций и обучения....

кроме проблемм со скоростью у них еще есть проблеммы с надежностью, падают они часто...
3 Базис
 
naïve
24.09.12
14:50
Привет человеку с Хабра. (Хочется туда, ник завёл, но пока нет статьи, чтоб порадовать ХЖ. За правильный ответ в QA можно получить первый плюс, кстати? Или даже в ответы писать нельзя?)

Повторю чужие умные слова - НЕЛЬЗЯ использовать большую файловую базу для реальной работы. Она гарантированно упадёт (сделай сегодня ТиИ, можешь быть удивлён). А бесплатные SQL сервера требуют дорогих спецов :(

То, что долго сканируется - ещё и от неоптимально написанного кода (способ исправления - локальная ТЗ товаров в памяти и поиск по ней).
4 Базис
 
naïve
24.09.12
14:51
Ещё РБД можно использовать, и обмениваться пакетами каждые 10 минут.
5 Светлый Гений
 
24.09.12
14:55
(0)Столько топиков было на эту тему...
6 happysanta
 
24.09.12
14:55
Опиши про РБД на Хабре http://habrahabr.ru/qa/24266/ , узнаем, что там с плюсованием read-only юзеров. Кажется, в q\a должен мочь. Я в первый же день статью накатал.

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

С РБД, исходя из названия, может получиться неплохо.

БД каждую ночь бэкапится в отдельную папочку, пока за год полетела только в одном из восьми филиалов. Не бойтесь так :)
7 vde69
 
24.09.12
14:59
http://www.1c-pro.ru/topic42658.html

а вообще баян адский :)

ты-бы представил как именно 1с реализует файловые блокировки и транзакции....
8 Базис
 
naïve
24.09.12
15:00
(6) Ты примерно 100500-й с такой проблемой, так что мы знаем, что и как не работает. Да, в винде отключается кеш при подключении второго пользователя к базе. Говорят, что в 2012 сервере это исправлено, он доступен для бесплатного пробного периода. Перенести какую-то часть файла .1cd нельзя.

То, что база не "полетела" - не говорит, что она пройдёт тестирование.
9 Базис
 
naïve
24.09.12
15:02
"Read-only пользователи не могут оставлять комментарии". Ну и ладно, буду бескорыстным :)
10 happysanta
 
24.09.12
15:03
(7) Дело в том, что я считаю, проблема (сетевой скорости) может быть так или иначе решена. Не со скайнетом боремся, можем попробовать как-нибудь обмануть, подсунуть хардлинки в сеть - только знать бы, в какой точке загибается.
11 Адимр
 
24.09.12
15:04
12 vde69
 
24.09.12
15:07
старый добрый новел умел с сабжем боротся, или та-же самба говорят то-же куда лучше винды как файл сервер. А у тебя вообще на машинках даже НЕ_СЕРВЕРНАЯ_ОС о чем тут вообще говорить?
13 happysanta
 
24.09.12
15:09
Распределенка решит мою проблему? В  принципе, подходит. Подводных камней много?
14 Адимр
 
24.09.12
15:10
Самый оптимальный вариант для файловых баз это терминал сервер - это аксиома.

Все остальное телодвижения похожи на то как с помощью магнитиков и грузиков отчаянные поцы пытаются вечный дрыгатель соорудить.
15 Базис
 
naïve
24.09.12
15:11
(12) Новелл был хорош, но по нему спеца найти непросто (да и дистрибутив я сходу в продаже не нашёл). А у человека - розница, полчаса простоя опасна, полдня - критична.

(13) Решит, но доверять ей полностью нельзя, на больших объёмах данных появляются глюки.
16 Базис
 
naïve
24.09.12
15:11
По объёму БД вы приближаетесь к порогу, за которым только SQL. Выбора у вас нет.
17 happysanta
 
24.09.12
15:13
(16) Было бы здорово, наступи этот порог. А как мы узнаем, если на локальной машине все происходит в пределах 5сек?
18 Адимр
 
24.09.12
15:15
Карочи автор ты хочешь из говна (атомы целероны 1 Гб озу база больше 3Гб 8,1) конфетку забесплатно слепить. Обновитесь до 8.2.
19 vde69
 
24.09.12
15:24
(17) порог - это не скорость, порог это размер одного внутреннено файла
формат файла 1с не позволяет (никаким образом) иметь фнутри себя файлы более 2гиг
20 happysanta
 
24.09.12
15:25
(19) боюсь соврать, но у меня около трех. Вы не про FAT32 говорите?
21 happysanta
 
24.09.12
15:28
(19) 1cv8.1cd = 3.48GB
22 ILM
 
гуру
24.09.12
15:30
(15) Да ладно вам пугать ))) Novell настроил разок, папку расшарил, права дал и забыл про него.
23 vde69
 
24.09.12
15:31
(20) нет не про фат,

если сильно упростить для понимания - 2 гига это примерно размер одной таблицы (документ, регистр, справочник, индексы). Если яного перекоса нет, то в среднем кирдык наступает примерно когда файл базы > 7 гигов. Если криво закрывается регистр - то может наступить сильно раньше...

если наступит кирдык - база перестанет работать, даже выгрузку штатную не сделаешь....
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс