AleksandrM09
18.02.16 — 16:17
Добрый день.
Имеется вот такой зверь.
Windows Server 2008R2
ОЗУ : 64 Гб.
Xeon E5. 2.4 Ггц x 6.
Дисковая система.
MS SQL 2012.
Под него выделено 40 Гб ОЗУ.
Протокол связи с сервером 1C — Shared Memory.
Раздел C:
2 SATA диска. RAID 1. 1TB
Временное хранение бекапов, исполняемые файлы.
Раздел E:
2 SSD Intel . RAID 1. 120 Гб
Логи SQL баз + tempdb.
Раздел F:
4 SAS. RAID 10. 600 Гб.
Хранятся файлы БД.
На сервере установлен сервер 1С+SQL+Терминалы+WTWare.
Большая часть клиентов грузяться с тонких клиентов по RDP.
Подключаются под одной учетной записью и каждый дальше уже в самой 1С проходит аутентификацию.
Работает порядка 20-25 человек.
Основная работа ведется УТ 10.3. Объем базы 26 Гб.
Так же имеется БП 3.0 . В ней работают 2 человека. Объем базы 30 Гб.
Суть проблемы : время от времени начинают подвисать платформа при работе с формами. Например при открытии/закрытии РТУ и тд.Может занимать 3-6 секунд. Пробовал чистить кэш пользователя, переставил платформу/сервер до версии 8.3.6.2449 — безрезультатно.
Свободной оперативной памяти достаточно, процессор не загружен.
Дисковой активности не заметил.
Вот и возникло несколько вопросов.
С чем могут быть связаны такие вот тормоза ? В момент их появления ничего на сервере не менялось и не устанавливалось.
AleksandrM09
1 — 18.02.16 — 16:23
Вчера лично стал свидетелем такого поведения. Подключился к серверу, при попытке открыть документ РТУ наблюдалось провисание на 3-4 секунды, так же они закрывались. Закрыл/открыл новый сенас, под тем же пользователем — работало как нужно. Ночью запустил реструктуризацию и пересчет итогов. Результат тот же.
AleksandrM09
2 — 18.02.16 — 18:08
Подведу итог. Что может влиять на скорость открытия/закрытия в 1С ?
Fragster
3 — 18.02.16 — 18:13
в режиме отладки? или в любом режиме?
vicof
4 — 18.02.16 — 18:15
Сеть какая? Файловая или Серверная?
vicof
5 — 18.02.16 — 18:15
А. Вижу, Серверная
AleksandrM09
6 — 18.02.16 — 18:18
(3) пользователи запускают 1С ку в режиме предприятия. Могут 15 работать нормально, у двоих временное такие фризы. Потом фризы могут начаться у других. Понять в чем беда не могу. Сегодня хочу для половины сотрудников завести отдельных пользователей для подключения по RDP, чтоб у каждого была своя папка со своим кешем и зодно обновлю 1С ку до версии 8.3.7.1917 .
zak555
7 — 18.02.16 — 18:21
попробуй также 8.3.8
H A D G E H O G s
8 — 18.02.16 — 18:23
Выноси пользователей на локальные тонкие клиенты.
AleksandrM09
9 — 18.02.16 — 18:23
(7) смешно:)
(4) в операторском зале стоит 1гб коммутатор. Часть клиентов подключены к нему напрямую . Другая часть через мыльницы. Увы досталось в хозяйство в таком виде и успешно работало год.
zak555
10 — 18.02.16 — 18:24
(9) на полном серьёзе — поиск летает там
AleksandrM09
11 — 18.02.16 — 18:28
(8) Не совсем понял, можно чуть развернуть совет ?
AleksandrM09
12 — 18.02.16 — 18:32
(10) не имею желания тестовую версию ставить на работающий (хоть и с непонятными фризами) сервер
shuhard
13 — 18.02.16 — 18:48
(6)[Понять в чем беда не могу.]
а ты и не пробывал
нет ни счетчиков
ни замера в 1С
нет даже тех.журнала
romix
14 — 18.02.16 — 18:51
AleksandrM09
15 — 18.02.16 — 19:11
(13) (14) спасибо, настрою счетчики и посмотрю . Везде где натыкаюсь на информацию о замере производительности по счетчикам, натыкаюсь на английские названия. Буду сейчас добавлять и замерять.
shuhard
16 — 18.02.16 — 19:16
(15)[Везде где натыкаюсь на информацию о замере производительности по счетчикам, натыкаюсь на английские названия]
и чё ?
AleksandrM09
17 — 18.02.16 — 19:17
(16) все хороршо, перевожу и добавляю)
orangekrs
18 — 18.02.16 — 19:38
Про режим энергопотребления уже было ? Выставлено в «максимальная производительность» ?
AleksandrM09
19 — 18.02.16 — 19:58
(18) выставлено в максимальную изначально.
Сегодня не успеваю уже, попробую завтра днем снять счетчики и с конкретными цифрами вернусь сюда.
hhhh
20 — 18.02.16 — 21:00
(19) может программера допросить с паяльником? Наверняка он каких нибудь тупых запросов понавставлял.
floody
21 — 18.02.16 — 21:28
Стесняюсь спросить, регламенты работают на sql?
AleksandrM09
22 — 19.02.16 — 00:17
(21) Настраивал, согласно тех же рекомендаций в сети. http://www.picshare.ru/view/7119538/
Нигде на накосячил ?
(20) тоже не исключал вариант, так как недавно сторонний программист вносил свои коррективы в работу конфигурации. Несколько раз сам оптимизировал код, в итоге отключил процедуру, которая могла в теории влиять на производительность сервера.
Проблема проявляется следующим образом. Пользователь работает и все нормально. Потом внезапно начинают долго открываться/закрываться документы. Решается или простым ожиданием или же закрыть/открыть сессию заново.
Сергиус
23 — 19.02.16 — 00:31
(0)Регламентные задания какие крутятся в базе?
AleksandrM09
24 — 19.02.16 — 00:54
(23) Вот скриншот http://www.picshare.ru/view/7119567/ .
Вроде полнотекстовый поиск отключали через Предприятие.
Операции — Управление полнотекстовым поиском — Настройка — Разрешить полнотекстовый поиск.
А тут его обновление стартует каждые пять минут.
AleksandrM09
25 — 19.02.16 — 00:56
Даже меньше, каждые 2,5 минуты.
Сергиус
26 — 19.02.16 — 00:57
(25)Попробуй на время отключить все активные задания и смотри что будет. Если все ок, то постепенно стартуй по одному, так и найдешь виновника.
AleksandrM09
27 — 19.02.16 — 01:00
(26) спасибо, обновлять платформу+сервер это блажь ? Не нужно ?
Сергиус
28 — 19.02.16 — 01:31
(27)Обновлять можно конечно, только всегда есть шанс, что после обновления станет еще хуже)
AleksandrM09
29 — 19.02.16 — 01:36
(28) тогда оставлю это на потом Отрубил регламентное задание по обновлению полнотекстового индекса. Завтра посмотрим.
Вопрос в догонку по обновлению. Назад переехать на 8.3.6 можно с 8.3.7 ? Нет ли подводных камней ?
AleksandrM09
30 — 19.02.16 — 14:05
Хочу замерить производительность дисковой системы.
Кто подскажет,показатели каких счетчиков считаются приемлемыми при работе MS SQL ?
eklmn
31 — 19.02.16 — 14:18
(29) не надо переезжать обратно
APXi
32 — 19.02.16 — 15:04
Может обмен с сайтом в фоновых висит
AleksandrM09
33 — 19.02.16 — 15:12
(31) понял, спасибо.
(32) смотрю в консоли заданий — все пусто.
Запустил все счетчики по дисковой системе. Смотрю. Из аномального — кратковременные скачки длинны очереди диска. Запущу сборщик данных, проверю.
Buffer cache hit ratio почти всегда 98-100. Оперативной памяти SQL хватает.
Процессор в пике 12-14 процентов.
С утра было несколько замечаний и пока тишина. Ждем.
AleksandrM09
34 — 19.02.16 — 15:19
Из настроек сервера.
Количество ИБ на рабочий процесс — 8
Количество соединений на процесс — 8.
Настройки кластера :
Допустимый объем памяти — 1500000 КБ
Интервал допустимого объема памяти — 600 сек
AleksandrM09
35 — 19.02.16 — 16:01
Вот сейчас поймал момент. Долгое открывание документов.По счетчикам , указанным на ИТС все отлично, а пользователи ноют. Снял замер производительности у пользователя. Вот ссылка.
https://yadi.sk/d/k9wDhP5Yp7cKW
МОжет кто нибудь глянуть ?
Склоняюсь к мысли апдейта ночью платформы и сервера. Если не спасет, но перетряхнуть весь сервер. Понимаю что не самое элегантное решение, но руки опускаются.
NicolayNN
36 — 19.02.16 — 16:18
(24) Почему время выполненного задания 20.02.2016? Сегодня только еще 19.02.2016
AleksandrM09
37 — 19.02.16 — 16:59
(36) на сервере стоит +1 день.
shuhard
38 — 19.02.16 — 17:10
(37) это хуже, чем плохо, это катастрофа
AleksandrM09
39 — 19.02.16 — 17:24
(38) Можно подробнее ?
AleksandrM09
40 — 19.02.16 — 17:39
Дополнительная информация о дисковой системе.
C: RAID 1 . Страйп — 256 кб . Размер кластера — 4096 байт
E: RAID 1 . Страйп — 64 кб. Размер кластера — 64 кб.
F: RAID 10. Страйп — 32 кб. Размер кластера — 64 кб.
Вот такая солянка.
Сергиус
41 — 19.02.16 — 17:49
(40)Да по описанию все норм.. проблема же может быть в конкретном диске. Хотя не похоже — если бы что то с дисками было, то тормоза явно бы чаще проявлялись.
P.s. Регламентые задания все поотключали?
AleksandrM09
42 — 19.02.16 — 18:00
(41) Смущает разница страйпа и размера кластера просто.
да, через консоль заданий отрубил обновление полнотекстового индекса. Остальное в течении дня не запускалось.
Ночью ставлю 8.3.7 актуальный релиз. Если не спасет , буду перетрухивать сервер. Недельная головоломка выбила из колеи меня
AleksandrM09
43 — 23.02.16 — 15:23
Обновление до 8.3.7 не спасло. Еще больше смутило что вчера не было тормозов, сегодня снова жалобы.
Снял ряд показаний с счетчиков.В момент сбора данных люди сталкивались с фризами.
https://yadi.sk/d/0nOGxZ9FpMNBF
Из того что бросилось в глаза, это скачки по очереди диска F: это раздел с данными БД. RAID 10 (4*SAS). Размер сектора 64 кб, размер страйпа 32 кб. Смущает это разница между страйпом и размером сектора. Не может ли это влиять ?
AleksandrM09
44 — 23.02.16 — 18:16
Предполагаю что проблема не носит характера 1С. Перезапуск RDP сеанса кратковременно позволяет работать без фризов. Пора заканчивать эту историю, в выходные переставлю сервер целиком, заодно настрою массивы под SQL c размером страйпа в 64 кб.
Fragster
45 — 24.02.16 — 11:36
настрой технологический журнал 1с на операции больше 5 секунд. проанализируй. если будет пусто, то 2 секунды и т.п.
AleksandrM09
46 — 24.02.16 — 19:23
(45) Подсмотрел в желтой книге образец, не затруднит глянуть ? Прошу прощения что общим текстом, не понял какой тег позволяет выделить код в сообщении.
P.S. День когда я решу это проблем я отмечу салютом !
<config xmlns=»http://v8.1c.ru/v8/tech-log»>;
<log history=»7″ location=»c:logs»>
<event>
<eq property=»name» value=»dbmssql»/>
</event>
<property name=»sql»>
<event>
<eq property=»name» value=»mssql»/>
<gt property=»duration» value=»50000″/>
</event>
</property>
</log>
</config>
Fragster
47 — 24.02.16 — 19:29
у меня так для отлова всего, что больше 0.1 секунды. соответственно, duration надо увеличить пропорционально:
<?xml version=»1.0″ encoding=»UTF-8″?>
<config xmlns=»http://v8.1c.ru/v8/tech-log»>
<dump create=»true» type=»0″ prntscrn=»false»/>
<log history=»2″ location=»D:Технологический журнал 1с»>
<property name=»all»/>
<event>
<eq property=»name» value=»SDBL»/>
<gt property=»duration» value=»1000″/>
</event>
<event>
<eq property=»name» value=»DBMSSQL»/>
<gt property=»duration» value=»1000″/>
</event>
</log>
<plansql/>
</config>
Fragster
48 — 24.02.16 — 19:30
для настройки и просмотра пользуюсь http://devtool1c.ucoz.ru/
AleksandrM09
49 — 24.02.16 — 22:14
(47) Вот в таком виде выдает пустые файлы.
<config xmlns=»http://v8.1c.ru/v8/tech-log>;
<dump create=»false» type=»0″ prntscrn=»false»/>
<log history=»24″ location=»C:1CLOGS»>
<property name=»all»/>
<event>
<eq property=»name» value=»SDBL»/>
<gt property=»duration» value=»1000″/>
</event>
<event>
<eq property=»name» value=»DBMSSQL»/>
<gt property=»duration» value=»1000″/>
</event>
</log>
<plansql/>
</config>
Я так понимаю что при наличии тормозов и пустых файлов журнала по таким параметрам означает что SQL работает корректно ?
Ranger_83
50 — 25.02.16 — 07:48
(0) ПО лиценщионное? Я про WinSRV SQL
Ranger_83
51 — 25.02.16 — 07:49
Антивир в реальном времени, поиск рутктов?
Necessitudo
52 — 25.02.16 — 07:57
Стоп-стоп-стоп.То есть у тебя на одном сервере MS SQL и сервер 1С и терминальный сервер?
AleksandrM09
53 — 25.02.16 — 10:56
(50) стоит с легальным ключем.
(51) антивирус не ставил на сервер, есть рекомендации — Касперский ?
(52) Да, на текущий момент именно так.А так же еще программа WTWare, которая выдает по DHCP IP тонким клиентам и они по сети загружают в ОЗУ программу, которая подключается по RDP.
Всего пользователей порядка 30.
AleksandrM09
54 — 25.02.16 — 12:04
Создают документ РТУ. Фриз.
Открывают подбор, начинают бегать по справочнику номенклатура — все отлично, моментально добавляется и тд.
Стоит или закрыть документ или начать его проводить. Фриз.
Пробовал пересоздание и перерегистрацию базы. Реиндаксацию средствами и 1С и средствами SQL — результат тот же.
Как говорится и фары протер и по колесу постучал, а машина не едет.
Necessitudo
55 — 25.02.16 — 14:44
(54) Нужно поставить туда еще контроллер домена и АТС. Тогда все полетит.
AleksandrM09
56 — 25.02.16 — 14:49
(55) спасибо за совет, обдумаю.
Fragster
57 — 25.02.16 — 14:52
(49) при таких настройках в базе либо не должно быть фризов либо настройка лежит не в том месте (не на сервере)
Necessitudo
58 — 25.02.16 — 15:14
То есть 64 гб оперативки — из них 40 сиквелу, а все оставшиеся 24 серверу 1С и 27 пользователям? И оперативки хватает? Как так?
AleksandrM09
59 — 25.02.16 — 15:47
(57) эм, никогда ранее не работал с этим механизмом. Поправьте если заблуждаюсь.
Я должен файл настроек тех журнала положить C:Program Files1cv8conf ? т.е. в папку conf сервера, не в папку conf платформы ?
(58) ну вот сейчас в мониторе вижу :
Доступно 65430, Кэшировано 7119, доступно 18314, свободно 11281.
В среднем 1Сv8.exe отжирает 100-200 мб на пользователя.
Тормоза наблюдались даже после ребута (спустя какое-то время), когда SQL не успевал заполнить весь объем отведенный ему ОЗУ.
Проверил средствами контроллера диски — жалоб нет.
На ночь хочу запустить memTest, может планка какая у меня шалить начала, а я тут всем мозг выношу.
Большое спасибо за участие и советы !
Fragster
60 — 25.02.16 — 15:50
(59) по дефолту в C:Program Files1cv8conflogcfg.xml
Fragster
61 — 25.02.16 — 15:55
для толстого клиента на сервере терминалов тоже неплохо бы настроить, там по дефолту в C:Program Files (x86)1cv8conflogcfg.xml
Necessitudo
62 — 25.02.16 — 16:38
Fragster
63 — 25.02.16 — 16:56
ну и да — очиститьнастройкипользователя()
AleksandrM09
64 — 25.02.16 — 17:17
(62) На сервере стоит Windows 2008 R2 Enterprise.
(61) (60)
Сейчас разместил в два каталога файл по образцу из ЖКК.
<log location=»C:log1c» history=»1″>
<event>
<eq property=»name» value=»proc»/>
</event>
<event>
<eq property=»name» value=»scom»/>
</event>
<event>
<eq property=»name» value=»conn»/>
</event>
<event>
<eq property=»name» value=»excp»/>
</event>
<event>
<eq property=»name» value=»dbmssql»/>
</event>
<property name=»sql»>
<event>
<eq property=»name» value=»mssql»/>
<gt property=»duration» value=»10000″/>
</event>
</property>
</log>
Пока тишина, в папке пусто.
(63) Пробовал запускать 1С с /ClearCache , пробовал создавать им новых отдельных пользователей, для того чтоб не было чужого кэша в профилях, пробовал чистить папку с кэшем руками.
AleksandrM09
65 — 25.02.16 — 18:03
(63) понял что про внутренние настройки, качаю обработку, попробую очистить настройки рядовым сотрудникам.
AleksandrM09
66 — 25.02.16 — 20:36
(63) почистил настройки одному человеку, все тож самое. пол часа работала и начались фрзиы.
Нужно на ночь ставить тест ОЗУ думаю.
Cyberhawk
67 — 25.02.16 — 20:57
Это только в одной базе так? В других базах пользователи работают?
Garykom
68 — 25.02.16 — 21:09
А точно сама 1С подвисает? Может терминальные клиенты в смысле сетка в целом?
AleksandrM09
69 — 25.02.16 — 23:52
(67) на сервере две базы, торговля и бухгалтерия. В бухгалтерии работают максимум два человека и то временами. На нее жалоб и не поступало, так как интенсивность ее использования низкая. Так же беда в том, что глюк, который я ловлю, проявляется не у всех сразу. Вот работает вечером 15 операторов, 3-4 жалуются, у других все хорошо. Потом у этих хорошо, другие жалуются. Перезаход в RDP спасает временно. Так же могут работать 3-5 человека и будут ловить поочердено фризы или несколько сразу.
На сетку думал, слал пинги разного размера от сервера к терминалу и обратно — все ровно.
Сегодня протестировал через Adptec’овскую RAID утилиту целостность массива с данным — все ровно. Проверил диски — все ровно.
Перед переездом на этот сервер (пол года назад) гонял тест ОЗУ, проблем не было.
(68) Да вот хрен его. Фризит платформу в момент открытия/закрытия любой формы. Создал ты новую РТУ или открываешь ранее созданную — значения не имеет. Так же в момент закрытия. Не важно , проводишь ли ты документ или же закрываешь без сохранения — ловишь фриз.
Metman
70 — 26.02.16 — 06:20
Fragster
71 — 26.02.16 — 10:39
(70) это фейк. проблемы в rdp были, но не на уровне «поставьте 8800GT» и точно не «Оказывается, странно написанная жёлтая фигня не умела корректно работать с четырёхголовыми мутантами — использовала-то все четыре ядрышка, но почему-то только на 15% мощности. Увидев же могучую 8800 с заветной CUDA, 1С набросилась на неё со всем остервенением.»
Garykom
72 — 26.02.16 — 14:55
(71) это не фейк, походу терминал был неправильный (не RDP) и дикие разрешения экранов клиентов
в результате затык был на «рисовании графики» на 1 терминальном сервере для около 20 машин
логично что воткнув нормальную видеокарту со своей шустрой памятью графика начала на ней рисоваться разгрузив проц (встроенная видяха)
Cyberhawk
73 — 26.02.16 — 15:02
(69) Если фризы есть как в толстом клиенте на локальных ПК пользователей, так и в терминале, то дело скорее всего в канале между клиентом и сервером приложений, либо между сервером приложений и сервером БД.
Перенеси базу и лог на общий диск (и отключи шаред мемори) и проверь.
И покажи настройку перезапуска РП и памяти в кластере и рабочем сервере.
AleksandrM09
74 — 03.03.16 — 09:25
(73) вопрос вроде решился координально в эти выходные. Перетряхнул к черту весь сервер, заодно переконфигурировал дисковую систему. На массивах под SQL логи и бд выровнял страйп, это положительно сказалось на производительность согласно теста Гилева,максимальная скорость многопоточной записи заметно выросла. Дальше буду наблюдать.
Параметры кластера.
Допустимый объем памяти — 1572864 KB
Интервал превышения допустимого объема памяти — 600 сек
Настройки сервера.
Количество ИБ на процесс — 8
Количество соединений на процесс — 8
ansh15
75 — 03.03.16 — 12:04
(74) А однопоточный тест тоже заметно увеличился, или так же? Кстати, сколько?
Виртуальные машины убрал?
AleksandrM09
76 — 03.03.16 — 12:20
(75) однопоточный незначительно увеличился до 35 до 38.
Рекомендованное количество пользователей выросло с 28 до 90.
Виртуальных машин и не было на сервере.
В момент конфигурирования РАИД массивов установил размер страйпа 64 кб. После установки операционки и установки родной утилиты по управление контроллером увидел, что для одного массива почему-то размер страйпа был выставлен 32 кб, пересоздал его.
Надеюсь это точка в моей истории.
ansh15
77 — 03.03.16 — 13:56
(76) Извини, невнимательно посмотрел, обычно если тема про тормоза/виснет и т.д., то как правило стоит ВМ(или несколько), от которых отказаться никак нельзя «по принципиальный соображениям».
38 — это хорошо.
AleksandrM09
78 — 03.03.16 — 16:00
(77) Да ничего страшного. Было вчера несколько жалоб, но не массового характера. Думаю что по причине стандартных настроек, сегодня утром настроил ограничение по памяти и сеансам, как указал выше. Посмотрим.
Спасибо большое всем участниками темы.
AleksandrM09
79 — 08.03.16 — 21:38
Сегодня пожаловались трое, симптомы те же.
Из общего обнаружил, что все трое получали не программную лицензию, а с сетевого ключа.
Вопрос.
Платофрма, которая получает лицензию через HASP «нюхает» его только в момент запуска или в ходе работы проверяет его доступность ?
Может ли платформа «фризить» в ожидании такого ответа ?
Cyberhawk
80 — 09.03.16 — 09:27
(79) Периодически проверяет.
Также попробуй совет номер 9 отсюда: http://sinyakov.blogspot.ru/2013/02/hasp.html
AleksandrM09
81 — 09.03.16 — 11:01
(80) снес антивирус со своей машины (на ней стоит HASP LM), указал на сервере жестко его IP, отключил BROADCAST. Если дело окажется в ключах, это будет хохма.
IVT_2009
82 — 09.03.16 — 16:58
У меня при потере ключа вообще в полный даун впадала. Ключ был сетевой аппаратный.
AleksandrM09
83 — 10.03.16 — 10:56
Подключил анализ технического журнала.
Большинство ругани было на это (409 записей)
47:21.417004-0,EXCP,0,process=rphost,Exception=0874860b-2b41-45e1-bc2b-6e186eb37771,Descr=’srcLicenseBaseImpl.cpp(4433):0874860b-2b41-45e1-bc2b-6e186eb37771: Ошибка программного лицензирования. Error=10004(0x00002714): Операция блокирования прервана вызовом WSACancelBlockingCall. File=srcLicenseBaseImpl.cpp(4374)’
и на это (122 раза)
07:26.801091-0,EXCP,2,process=rphost,p:processName=torg,t:clientID=2584,t:applicationName=1CV8,t:computerName=base-serv2,t:connectID=4610,Exception=dd149677-3d47-4e05-a55f-4e75b13a441f,Descr=’srcRHostImpl.cpp(2737):dd149677-3d47-4e05-a55f-4e75b13a441f: Требуется переустановка соединения’
AleksandrM09
84 — 14.03.16 — 13:58
Может кому будет интересно.
Дело было в ключах.
Cyberhawk
85 — 14.03.16 — 14:47
Что с аппаратными ключами сделал?
AleksandrM09
86 — 15.03.16 — 13:37
(85) Да банально перенес на соседний сервер, где не стоял чудесный доктор веб. На терминальном сервере указал куда нужно смотреть в поисках сетевых ключей и все «тормоза» ушли.
Хм… Включил анализ логов. Сразу же получил:
29:26.784014-0,EXCP,4,process=rphost,p:processName=maxa_base_1,t:clientID=2325,t:applicationName=BackgroundJob,t:computerName=V8APP01,Exception=0874860b-2b41-45e1-bc2b-6e186eb37771,Descr='srcLicenseBaseImpl.cpp(4498):
0874860b-2b41-45e1-bc2b-6e186eb37771: Ошибка программного лицензирования. Ошибка привязки программной лицензии к компьютеру: file://C:/ProgramData/1C/licenses/20180821134359.lic
После получения лицензии удалены:
DISK_1: VMware Virtual disk SCSI Disk Device, SCSIDISK&VEN_VMWARE&PROD_VIRTUAL_DISK5&1982005&0&000000, 512, 63, 15665, 255, 3994575, 251658225, 128849011200
DISK_0: VMware Virtual disk SCSI Disk Device, SCSIDISK&VEN_VMWARE&PROD_VIRTUAL_DISK5&1982005&0&000100, 512, 63, 19842, 255, 5059710, 318761730, 163206005760
В текущей конфигурации компьютера имеются:
DISK_1: VMware Virtual disk SCSI Disk Device, SCSIDISK&VEN_VMWARE&PROD_VIRTUAL_DISK5&1982005&0&000000, 512, 63, 17623, 255, 4493865, 283113495, 144954109440
DISK_0: VMware Virtual disk SCSI Disk Device, SCSIDISK&VEN_VMWARE&PROD_VIRTUAL_DISK5&1982005&0&000100, 512, 63, 23497, 255, 5991735, 377479305, 193269404160
File=srcLicenseBaseImpl.cpp(4267)'
При этом 1с работает. Как клиент, так и сервер… Что бы это значило?
Началось все с того, что я познакомился с перловыми скриптами для парса ТЖ которые размещены на kb.1c.ru (например в этой статье https://kb.1c.ru/articleView.jsp?id=113). По началу мне дико понравилось то, что перл разбирал гигабайты логов за считанные минуты, но позитив мой угасал обратно пропорционально с тем, насколько глубже я погружался в «кроличью нору» ….
Изначально я использовал связку grep (cygwin) + perl, команды были что-то из разряда:
grep '' -rh --include '*.log' | perl descr.pl
или
cat */*.log | perl descr.pl
Первый вариант предпочтителен т.к. мы не зависим от количества вложенных директорий.
Вот собственно скрипты которые выложены на kb
Надеюсь я не нарушил никакое авторское право :). Сразу бросается в глаза, что эти скрипты написаны по одному шаблону и во всех трех присутствует одна и та же ошибка (не будем об этом).
Данные скрипты маленькие, емкие, лаконичные если хотите, и весьма быстрые. Однако они не самодостаточные, т.е. они не агрегируют duration, не выводят количество, по сути эти скрипты некий промежуточный этап, потом результат можно дополнительно обрабатывать AWK или SED’ом, что не очень удобно и не всем доступно (с точки зрения доступности скилов).
Решил я написать перловый скрипт который агрегирует произвольные значения (duration, потребление памяти, да что захотите), хитро группирует колстек (выбрасывает из него все нечитаемые символы, цифры и всякие «,:;’ ), но в консоль выводится все красиво. Скрипт был написан, ознакомиться можно в репе, данный скрипт на вход принимает различные параметры (сортировка, группировка, топ). Вроде все ок, но потом я подумал, все же зачем людям ставить к себе cygwin, надо искать файлы перлом, сказано — сделано. Однако, такой скрипт работал на несколько порядков медленнее. Например если скрипт который читает из StdIn выполнялся 10 сек. то скрипт который читал файлы уже тратил около 15 минут. (обрабатываемый объем естественно одинаков)
Видимо это из-за того, что я регулярку натравливал на весь файл
Решил было распараллелить процесс чтение из файлов, но perl нормально не параллелится и это было мое последнее разочарование, после которого я потерял интерес к perl’у.
perl нормально не параллелится
Тут стоит внести ясность, перл конечно умеет работать «параллельно», но в режиме кооперативной многозадачности, для этого в перл есть т.н. корутины (coroutines) или модуль AnyEvent
Схематично это можно представить так:
т.е. управление передается от корутины к корутине, но общее время выполнение будет такое же как если бы код выполнялся линейно.
К тому же, исторически все же перл создан под linux, в linux можно было бы создать отдельные процессы (fork) и радоваться, но в винде не создается отдельный процесс при выполнении fork(). Есть еще AnyEvent::Fork::Pool, но запустить пример из cpan мне так и не удалось. (особо не старался если честно)
В целом мое впечатление о перле — синтаксис удобный, но язык тяжелый для изучения
После этого я переключился на Golang, параллельность у Go это его сильная сторона. В Go есть свои корутины, в Go они называются горутины. Горутины из себя представляют треды которые работают как в кооперативной многозадачности, так и параллелятся по процессам. Как результат был написана консольная утилита (ссылка на репу в конце статьи).
Архитектура утилиты получилась такая такая:
Каждый файл обрабатывает отдельная горутина, каждая такая горутина разбирает файл на такие части:
41:56.637012-1,SCALL,2,process=rphost,p:processName=ZKGU_KBR,OSThread=15448,t:clientID=20,t:applicationName=BackgroundJob,t:computerName=SP-SRV1,t:connectID=293645,SessionID=11,Usr=DefUser,ClientID=17,Interface=12af46e1-4f3e-4446-a753-519e54d55f48,IName=IObjectLocksStor,Method=2,CallID=33656,MName=clearObjectLocks
41:58.602000-0,CONN,1,process=rphost,OSThread=15448,ClientID=20,Txt=Incomming connection closed: long still
41:58.602001-10966996,CONN,0,process=rphost,OSThread=15448,t:clientID=20,t:clientID=20,t:computerName=SP-SRV1,t:applicationName=BackgroundJob,t:connectID=293645,Calls=11
42:01.551000-0,CONN,0,process=rphost,OSThread=5148,Txt='Ping direction statistics: address=[::1]:1541,pingTimeout=5000,pingPeriod=1000,period=10296,packetsSent=10,avgResponseTime=0,maxResponseTime=0,packetsTimedOut=0,packetsLost=1,packetsLostAndFound=1'
42:11.847000-0,CONN,0,process=rphost,OSThread=5148,Txt='Ping direction statistics: address=[::1]:1541,pingTimeout=5000,pingPeriod=1000,period=10296,packetsSent=10,avgResponseTime=0,maxResponseTime=0,packetsTimedOut=0,packetsLost=1,packetsLostAndFound=1'
42:17.588001-0,EXCP,0,process=rphost,OSThread=16304,Exception=0874860b-2b41-45e1-bc2b-6e186eb37771,Descr='srcLicenseBaseImpl.cpp(5203):
0874860b-2b41-45e1-bc2b-6e186eb37771: Ошибка программного лицензирования. Error=10004(0x00002714): Операция блокирования прервана вызовом WSACancelBlockingCall.
File=srcLicenseBaseImpl.cpp(5144)'
42:18.508012-0,EXCP,0,process=rphost,OSThread=10848,Exception=acea3e6e-3687-4792-8319-09c009274c9a,Descr='srcRHostImpl.cpp(5456):
acea3e6e-3687-4792-8319-09c009274c9a: Рабочий процесс не найден'
(раскрасил для наглядности)
Каждая такая часть поступает на обработку пулу воркеров, по дефолту пул состоит из 10 воркеров (воркер — отдельная горутина, которая работает в фоне и ожидает на вход каких-то данных для обработки), размер воркеров может меняться параметром, об этом далее.
Результат работы воркера это определенная структура, каждый воркер накапливает внутри себя map’ы результатов, по окончанию обработки файлов у нас получается 10 (по количеству горутин) map’ов, они в свою очередь объединяются в общую мапу отдельной горутиной.
map — структура данных в Go, в perl аналог — хэш, в 1С — соответствие
В результате на выходе мы получаем некий контекст (программист задает, что будет контекстом) и некие агрегируемые поля (агрегация всегда осуществляется по полю value, а вот откуда будет браться значения для value определяется программистом)
Вывод результата получается такой:
Для события EXCP
(rphost) EXCP, количество - 7 'srcVResourceInfoBaseImpl.cpp(1113): 580392e6-ba49-4280-ac67-fcd6f2180121: Ошибка работы сеанса Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm: 60c686dc-798f-4d17-aadb-a90156a16eb8: Сеанс отсутствует или удален ID=1204924e-c4ad-43e0-a801-78dca981c70d (rphost) EXCP, количество - 7 'Сеанс отсутствует или удален ID=3c12c449-3c3a-48fb-a1c4-f01869814f97 (rphost) EXCP, количество - 2 'Сеанс отсутствует или удален ID=f8467c59-27ca-4ed9-8768-5f48b6f9ce92
для события CALL
(ИмяБазы) CALL, количество - 9, MemoryPeak - 8317991
ОбщийМодуль.Вызов : ОбщийМодуль.ДлительныеОперацииВызовСервера.Модуль.ОперацииВыполнены
(ИмяБазы) CALL, количество - 1, MemoryPeak - 950231
ОбщийМодуль.Вызов : ОбщийМодуль.СтандартныеПодсистемыВызовСервера.Модуль.СкрытьРабочийСтолПриНачалеРаботыСистемы
(ИмяБазы) CALL, количество - 1, MemoryPeak - 726808
ОбщийМодуль.Вызов : ОбщийМодуль.ИнтернетПоддержкаПользователейВызовСервера.Модуль.ПередНачаломРаботыСистемы
(ИмяБазы) CALL, количество - 1, MemoryPeak - 1454045
ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.НайтиРабочиеМестаПоИД
(ИмяБазы) CALL, количество - 1, MemoryPeak - 1210482
Форма.Вызов : Обработка.РезультатыОбновленияПрограммы.Форма.ИндикацияХодаОбновленияИБ.Модуль.ЗагрузитьОбновитьПараметрыРаботыПрограммыВФоне
в данном случай value выбрано MemoryPeak, можно выбрать duration, как напишите регулярку.
Шаблон для вывода может переопределять программист.
Параметры которые принимает утилита:
- -SortByCount — признак того, что нужно сортировать результат по количеству
- -SortByValue — признак того, что нужно сортировать по значению
- -io — признак того, что данные будут поступать из потока stdin
- -Top — ограничение по количеству выводимого результата
- -Go — количество горутин в пуле (по умолчанию 10)
- -RootDir — директория где будет осуществляться поиск
И для профилирования:
- -cpuprof
- -memprof
Пример использования:
ParsLogs.exe -RootDir=C:Logs
В данном случае поиск логов будет производиться по каталогу «C:Logs»
Также можно применять в тандеме с grep’ом
grep » -rh —include ‘*.log’ | ParsLogs.exe -io
Пример сочетания параметров
ParsLogs.exe -RootDir=C:Logs -Top=10 -SortByCount
Будет выведено 10 результатов отсортированных по количеству
Немного сравнения с перлом:
Для примера был взят мой перловый скрипт с агрегацией и объем логов ТЖ 2.8г
grep » -rh —include ‘*.log’ | perl CallDurationsMem.pl скрипт выполнялся ~ 10 минут
grep » -rh —include ‘*.log’ | ParsLogs.exe -io примерно 3 минуты зависит от того сколько внутри регулярок применяется к блоку данных
ParsLogs.exe -RootDir=C:Logs примерно 2 минуты
Пробовал парсить 30Гб логов, ушло около 2ч.
Кто-то скажет, так перловый скрипт видимо написан не оптимально, я соглашусь, я в перле новичок, так же как и в Go, т.е. считаем, что оба эти приложения написаны не особо оптимально (кстати в Go написать менее оптимально вероятности куда больше, т.к. там нужно не забывать тот факт, что структуры и большинство типов передаются по значению)
Профилирование приложения показало, что основную нагрузку на приложение дает регулярка:
По этому скорость обработки логов напрямую зависит от того насколько оптимальна написана регулярка и сколько этих регулярок под капотом. Регулярок может быть несколько т.к. в приложении был применен pattern chain of responsibility, об это будет рассказано далее.
Если вы захотите присоединиться к разработке, ниже информация для вас:
Как уже писалось выше, в архитектуре решения был применен pattern chain of responsibility (кому интересно вот статья как накостылить этот паттерн на 1С). Основная структура в коде это Chain и интерфейс IChain который чаще всего будет претерпевать изменения. Структура Chain это есть один из звеньев в цепочки ответственности
Цепочка строится в методе BuildChain() (метод в пакете Tools)
func BuildChain() *Chain {
Element1 := Chain{
regexp: regexp.MustCompile(`(?si)[,]CALL(?:.*?)p:processName=(?P<DB>[#k8SjZc9Dxk,]+)(?:.+?)Module=(?P<Module>[#k8SjZc9Dxk,]+)(?:.+?)Method=(?P<Method>[#k8SjZc9Dxk,]+)(?:.+?)MemoryPeak=(?P<Value>[d]+)`),
AgregateFileld: []string{"event", "DB", "Module", "Method"},
OutPattern: "(%DB%) CALL, количество - %count%, MemoryPeak - %Value%
%Module%.%Method%",
}
Element2 := Chain{
regexp: regexp.MustCompile(`(?si)[,]CALL(?:.*?)p:processName=(?P<DB>[#k8SjZc9Dxk,]+)(?:.+?)Context=(?P<Context>[#k8SjZc9Dxk,]+)(?:.+?)MemoryPeak=(?P<Value>[d]+)`),
NextElement: &Element1,
AgregateFileld: []string{"DB", "Context"},
OutPattern: "(%DB%) CALL, количество - %count%, MemoryPeak - %Value%
%Context%",
}
Element3 := Chain{
regexp: regexp.MustCompile(`(?si)[,]EXCP,(?:.*?)process=(?P<Process>[#k8SjZc9Dxk,]+)(?:.*?)Descr=(?P<Context>[#k8SjZc9Dxk,]+)`),
NextElement: &Element2,
AgregateFileld: []string{"Process", "Context"},
OutPattern: "(%Process%) EXCP, количество - %count%
%Context%",
}
return &Element3
}
Метод должен возвращать всегда ссылку на последнее звено в цепочке. Используется это так, выполняется метод «звена» Execute, если он вернул nil и есть следующий элемент в цепочке,тогда вызывается Execute следующего элемента. В Execute выполняется регулярка + кой какие пляски, чтобы можно было удобно работать с именованными группами захвата.
- regexp — шаблон регулярного выражения. Группы захвата обязательно должны быть именованными, в Go это делается так (?P<Имя> …..)
- NextElement — ссылка на предыдущее звено цепочки
- AgregateFileld — имена групп захвата по которым будет производиться агрегация
- OutPattern — шаблон по которому будет выводиться результат. В примере выше маркер %count% нигде не задается, это количество подходящих элементов в группе (при агрегации), давайте считать этот маркер «системным». Группа захвата содержащие значение которое будет суммироваться должна называться Value (имя групп регистрозависимое). Например, если мы захотим агрегировать значения duration, тогда регулярка будет такой `(?si)[d]+:[d]+.[d]+[-](?P<Value>[d]+)[,]CALL(?:.*?)p:processName=(?P<DB>[#k8SjZc9Dxk,]+)(?:.+?)……..`
Проект располагается на github, буду рад, если кто-то присоединится к проекту.
Не загрузить большую базу
Помогите, пожалуйста, разобраться с проблемой.
Есть виндовый сервер с PostrgeSQL 9.4.2 и 1C (64 bit) 8.3.12.1567. При загрузке из dt достаточно большой (dt 2.7 Гб) базы Бух2 вылетает с ошибкой «соединение разорвано администратором». Иногда бывают другие, но такие же бестолковые сообщения об ошибке.
Памяти на сервере 32 Гб. Раньше помогало перезагрузить сервер и сразу запустить загрузку. Иногда это срабатывало. Сейчас видимо база подросла, теперь такой номер не проходит.
База не битая. Пробовал на двух других серверах (Postrge и MS SQL), база загружается. Копировал настройки Postrge — не помогает.
На данный момент нет чёткого понимания, а кто падает СУБД или 1С? Настроил лог СУБД. Там такая картина.
Accounting3 2018-08-01 22:32:32 MSK NOTICE: table «ibversion» does not exist, skipping
Accounting3 2018-08-01 22:32:32 MSK STATEMENT: drop table if exists IBVersion cascade;create table IBVersion (IBVersion int not null, PlatformVersionReq int not null)
Accounting3 2018-08-01 22:33:24 MSK NOTICE: table «v8users» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop table if exists v8users cascade;create table v8users (ID bytea not null primary key, Name mvarchar(64) not null, Descr mvarchar(128) not null, OSName mvarchar(128), Changed timestamp not null, RolesID numeric(10, 0) not null, Show boolean not null, Data bytea not null, EAuth boolean, AdmRole boolean, UsSprH numeric(10, 0) ) without oids
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byname» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byname
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «bydescr» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists bydescr
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byosname» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byosname
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byrolesid» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byrolesid
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byshow» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byshow
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byeauth» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byeauth
Accounting3 2018-08-01 22:33:24 MSK NOTICE: table «v8users» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop table if exists v8users cascade;create table v8users (ID bytea not null primary key, Name mvarchar(64) not null, Descr mvarchar(128) not null, OSName mvarchar(128), Changed timestamp not null, RolesID numeric(10, 0) not null, Show boolean not null, Data bytea not null, EAuth boolean, AdmRole boolean, UsSprH numeric(10, 0) ) without oids
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byname» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byname
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «bydescr» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists bydescr
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byosname» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byosname
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byrolesid» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byrolesid
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byshow» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byshow
Accounting3 2018-08-01 22:33:24 MSK NOTICE: index «byeauth» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop index if exists byeauth
Accounting3 2018-08-01 22:33:24 MSK NOTICE: table «dbschema» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop table if exists DBSchema cascade;create table DBSchema (SerializedData bytea not null)
Accounting3 2018-08-01 22:33:24 MSK NOTICE: table «schemastorage» does not exist, skipping
Accounting3 2018-08-01 22:33:24 MSK STATEMENT: drop table if exists SchemaStorage cascade;create table SchemaStorage (SchemaID int4 not null primary key, Status int4 not null, CurrentSchema bytea not null, NewGenCreated bytea not null, NewGenDropped bytea not null ) without oids
Accounting3 2018-08-01 22:33:25 MSK NOTICE: table «_configchngr» does not exist, skipping
Accounting3 2018-08-01 22:33:25 MSK STATEMENT: drop table if exists _ConfigChngR cascade;create table _ConfigChngR (_NodeTRef bytea not null, _NodeRRef bytea not null, _MessageNo numeric(10, 0), _MDObjID bytea not null, _IDRRef bytea not null primary key ) without oids
Accounting3 2018-08-01 22:33:25 MSK NOTICE: table «_configchngr_extprops» does not exist, skipping
Accounting3 2018-08-01 22:33:25 MSK STATEMENT: drop table if exists _ConfigChngR_ExtProps cascade;create table _ConfigChngR_ExtProps (_ConfigChngR_IDRRef bytea not null, _KeyField bytea not null, _FileName mvarchar(128) not null ) without oids
Accounting3 2018-08-01 22:33:25 MSK NOTICE: table «_accrgopt9961» does not exist, skipping
Accounting3 2018-08-01 22:33:25 MSK STATEMENT: drop table if exists _AccRgOpt9961 cascade;create table _AccRgOpt9961 (_RegID bytea not null, _Period timestamp not null, _ActualPeriod boolean not null, _Periodicity numeric(2, 0) not null, _RepetitionFactor numeric(2, 0) not null, _UseTotals numeric(1, 0) not null, _MinPeriod timestamp not null, _UseSplitter boolean not null ) without oids
и далее аналогично много таблиц. Смущает вот этот момент.
Accounting3 2018-08-01 22:33:50 MSK NOTICE: table «_enum412» does not exist, skipping
Accounting3 2018-08-01 22:33:50 MSK STATEMENT: drop table if exists _Enum412 cascade;create table _Enum412 (_IDRRef bytea not null primary key, _EnumOrder numeric(10, 0) not null ) without oids
Accounting3 2018-08-01 22:39:59 MSK LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
Accounting3 2018-08-01 22:39:59 MSK STATEMENT: COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK LOG: incomplete message from client
Accounting3 2018-08-01 22:39:59 MSK STATEMENT: COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK ERROR: unexpected EOF on client connection with an open transaction
Accounting3 2018-08-01 22:39:59 MSK STATEMENT: COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK LOG: could not send data to client: No connection could be made because the target machine actively refused it.
Accounting3 2018-08-01 22:39:59 MSK STATEMENT: COPY _DocumentJournal6059 FROM STDIN BINARY
Accounting3 2018-08-01 22:39:59 MSK FATAL: terminating connection because protocol sync was lost
Т.е. после таблицы _enum412 висит 9 минут и «could not receive data from client» и далее ошибки такого же рода «incomplete message from client», «unexpected EOF on client connection with an open transaction» и заканчивается «FATAL: terminating connection because protocol sync was lost».
Следующая попытка аналогично.
table «_enum412» does not exist, skipping
drop table if exists _Enum412 cascade;create table _Enum412
пауза 8 мин и «could not receive data from client» но уже с другой таблицей:
Accounting3 2018-08-01 23:06:20 MSK STATEMENT: COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK LOG: incomplete message from client
Accounting3 2018-08-01 23:06:20 MSK STATEMENT: COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK ERROR: unexpected EOF on client connection with an open transaction
Accounting3 2018-08-01 23:06:20 MSK STATEMENT: COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK LOG: could not send data to client: No connection could be made because the target machine actively refused it.
Accounting3 2018-08-01 23:06:20 MSK STATEMENT: COPY _InfoRg9249 FROM STDIN BINARY
Accounting3 2018-08-01 23:06:20 MSK FATAL: terminating connection because protocol sync was lost
Можно ли из этого сделать вывод, что падает сервер 1С?
Источник
доброго всем дня.
такая проблема:
стоит Кубунту 9.04, wine 1.0.1, 1С:Предприятие 8.1 и в некоторых отчетах вылетает ошибка:
descr = Ошибка сетевого доступа к серверу
(Windows Sockets — 10004(0x00002714).@) line=870 file=.srcDataExchangeServerImpl.cpp
после чего предлагает либо выйти из программы, либо ее перезапустить.
В инете нашел много статей по этому поводу, но решения так нигде и нет. Эта ошибка связана с графическим интерфейсом (http://www.bookmark-master.com/socket-error-10004.html), может кто сталкивался с этим? как решали?
Keper
а как ты без wine-а 1с запустишь, тока через терминал, вот пока эту проблему не устраню, так и делаю, через терминал их подрубаю, но хотелось бы чтобы без терминала они работали.
как играет? например.
PanterA я не об ос, не о вайне, я об 1С говорю!
У её платформы тоже версии разные бывают.
если про версию 1с, то у нас 8.1.13.45 вроде, в последнем числе могу ошибиццу, ща точно сказать не могу
wine 1.0.1 староват. Есть 1.1.26 по крайней мере.
И платформу поновее ставить надо, тоже помочь может.
А ты вобще пробовал запускать 1С под вайном? Под нативным вайном тебе практически всегда будет гарантирована гора глюков независимо от версии. И платформы.:)
Для 1С есть специально запиленный этерсофтовский вайн. Там тоже глюков достаточно, но их масштаб не сравнить с нативным вайном. Кроме того этеровский вайн постоянно совершенствуется, как буддистский монах.:) Он конечно стоит денег, но эмулятор локальной и облегчённой сетевой версий не так уж и дороги.
Источник
УТ 10.3 . Периодические тормоза.
Имеется вот такой зверь.
Windows Server 2008R2
ОЗУ : 64 Гб.
Xeon E5. 2.4 Ггц x 6.
Дисковая система.
MS SQL 2012.
Под него выделено 40 Гб ОЗУ.
Протокол связи с сервером 1C — Shared Memory.
Раздел C:
2 SATA диска. RAID 1. 1TB
Временное хранение бекапов, исполняемые файлы.
Раздел E:
2 SSD Intel . RAID 1. 120 Гб
Логи SQL баз + tempdb.
Раздел F:
4 SAS. RAID 10. 600 Гб.
Хранятся файлы БД.
На сервере установлен сервер 1С+SQL+Терминалы+WTWare.
Большая часть клиентов грузяться с тонких клиентов по RDP.
Подключаются под одной учетной записью и каждый дальше уже в самой 1С проходит аутентификацию.
Работает порядка 20-25 человек.
Основная работа ведется УТ 10.3. Объем базы 26 Гб.
Так же имеется БП 3.0 . В ней работают 2 человека. Объем базы 30 Гб.
Суть проблемы : время от времени начинают подвисать платформа при работе с формами. Например при открытии/закрытии РТУ и тд.Может занимать 3-6 секунд. Пробовал чистить кэш пользователя, переставил платформу/сервер до версии 8.3.6.2449 — безрезультатно.
Свободной оперативной памяти достаточно, процессор не загружен.
Дисковой активности не заметил.
Вот и возникло несколько вопросов.
С чем могут быть связаны такие вот тормоза ? В момент их появления ничего на сервере не менялось и не устанавливалось.
Источник
Ошибка программного лицензирования. Как исправить?
Средний 4 комментария
Для запуска 1С в клиент-серверном режиме нужно ДВЕ лицензии: одна серверная для запуска сервера 1С:Предприятия, вторая клиентская для запуска клиентского приложения (а для запуска файловой базы нужна только клиентская лицензия, а серверную устанавливать не нужно вовсе) .
Сегодня устанавливал 1С Предприятие на сервер, восстановил лицензию при помощи резервного пинкода, получил в диалоговом окне сообщение что лицензия успешно установлена.
Судя по данному тексту вы получили лицензию на СЕРВЕР.
Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!
Данный текст говорит о том, что 1С не видит лицензию на запуск КЛИЕНТА.
Файл программной лицензии не предусматривает возможность запуска клиентских приложений 1С:Предприятия или внешних соединений:
file://C:/ProgramData/1C/licenses/ХХХХХХХХ.lic
100% что это файл той самой лицензии на сервер 1С, который вы только что получили.
Уточнить можно открыв файл лицензии текстовым редактором, например, блокнотом — в конце файла будет информация о лицензии в человекочитаемом виде.
Т.е для работы вам теперь ещё надо получить клиентскую лицензию.
Для полного понимания советую почитать инструкцию по повторному получению лицензии 1С с разборами ошибок и примерами (кстати, ваш случай там тоже есть)
Как восстановить программную лицензию 1С:Предприятие 8
P. S.
Кстати имя файла затерли совершенно зря — оно представляет собой дату и время получения лицензии, никакой уникальной идентифицирующей информации в имени файла нет, например, активированная сегодня лицензия будет вида 202110131012345.lic, где первые 8 цифр — это дата 2021.10.13, а следующие 6 цифр — это время ЧЧ.ММ.СС.
Источник
Go. Разбор лога технологического журнала. Достойная альтернатива perl’у
Изначально я использовал связку grep (cygwin) + perl, команды были что-то из разряда:
Первый вариант предпочтителен т.к. мы не зависим от количества вложенных директорий.
Вот собственно скрипты которые выложены на kb
Надеюсь я не нарушил никакое авторское право :). Сразу бросается в глаза, что эти скрипты написаны по одному шаблону и во всех трех присутствует одна и та же ошибка (не будем об этом).
Данные скрипты маленькие, емкие, лаконичные если хотите, и весьма быстрые. Однако они не самодостаточные, т.е. они не агрегируют duration, не выводят количество, по сути эти скрипты некий промежуточный этап, потом результат можно дополнительно обрабатывать AWK или SED’ом, что не очень удобно и не всем доступно (с точки зрения доступности скилов).
Решил я написать перловый скрипт который агрегирует произвольные значения (duration, потребление памяти, да что захотите), хитро группирует колстек (выбрасывает из него все нечитаемые символы, цифры и всякие «,:;’ ), но в консоль выводится все красиво. Скрипт был написан, ознакомиться можно в репе, данный скрипт на вход принимает различные параметры (сортировка, группировка, топ). Вроде все ок, но потом я подумал, все же зачем людям ставить к себе cygwin, надо искать файлы перлом, сказано — сделано. Однако, такой скрипт работал на несколько порядков медленнее. Например если скрипт который читает из StdIn выполнялся 10 сек. то скрипт который читал файлы уже тратил около 15 минут. (обрабатываемый объем естественно одинаков)
Видимо это из-за того, что я регулярку натравливал на весь файл
Решил было распараллелить процесс чтение из файлов, но perl нормально не параллелится и это было мое последнее разочарование, после которого я потерял интерес к perl’у.
perl нормально не параллелится
Тут стоит внести ясность, перл конечно умеет работать «параллельно», но в режиме кооперативной многозадачности, для этого в перл есть т.н. корутины (coroutines) или модуль AnyEvent
Схематично это можно представить так:
т.е. управление передается от корутины к корутине, но общее время выполнение будет такое же как если бы код выполнялся линейно.
К тому же, исторически все же перл создан под linux, в linux можно было бы создать отдельные процессы (fork) и радоваться, но в винде не создается отдельный процесс при выполнении fork(). Есть еще AnyEvent::Fork::Pool, но запустить пример из cpan мне так и не удалось. (особо не старался если честно)
В целом мое впечатление о перле — синтаксис удобный, но язык тяжелый для изучения
После этого я переключился на Golang, параллельность у Go это его сильная сторона. В Go есть свои корутины, в Go они называются горутины. Горутины из себя представляют треды которые работают как в кооперативной многозадачности, так и параллелятся по процессам. Как результат был написана консольная утилита (ссылка на репу в конце статьи).
Архитектура утилиты получилась такая такая:
Каждый файл обрабатывает отдельная горутина, каждая такая горутина разбирает файл на такие части:
(раскрасил для наглядности)
Каждая такая часть поступает на обработку пулу воркеров, по дефолту пул состоит из 10 воркеров (воркер — отдельная горутина, которая работает в фоне и ожидает на вход каких-то данных для обработки), размер воркеров может меняться параметром, об этом далее.
Результат работы воркера это определенная структура, каждый воркер накапливает внутри себя map’ы результатов, по окончанию обработки файлов у нас получается 10 (по количеству горутин) map’ов, они в свою очередь объединяются в общую мапу отдельной горутиной.
map — структура данных в Go, в perl аналог — хэш, в 1С — соответствие
В результате на выходе мы получаем некий контекст (программист задает, что будет контекстом) и некие агрегируемые поля (агрегация всегда осуществляется по полю value, а вот откуда будет браться значения для value определяется программистом)
Вывод результата получается такой:
Для события EXCP
для события CALL
в данном случай value выбрано MemoryPeak, можно выбрать duration, как напишите регулярку.
Шаблон для вывода может переопределять программист.
Параметры которые принимает утилита:
- -SortByCount — признак того, что нужно сортировать результат по количеству
- -SortByValue — признак того, что нужно сортировать по значению
- -io — признак того, что данные будут поступать из потока stdin
- -Top — ограничение по количеству выводимого результата
- -Go — количество горутин в пуле (по умолчанию 10)
- -RootDir — директория где будет осуществляться поиск
И для профилирования:
Пример использования:
В данном случае поиск логов будет производиться по каталогу «C:Logs»
Также можно применять в тандеме с grep’ом
grep » -rh —include ‘*.log’ | ParsLogs.exe -io
Пример сочетания параметров
ParsLogs.exe -RootDir=C:Logs -Top=10 -SortByCount
Будет выведено 10 результатов отсортированных по количеству
Немного сравнения с перлом:
Для примера был взят мой перловый скрипт с агрегацией и объем логов ТЖ 2.8г
grep » -rh —include ‘*.log’ | perl CallDurationsMem.pl скрипт выполнялся
grep » -rh —include ‘*.log’ | ParsLogs.exe -io примерно 3 минуты зависит от того сколько внутри регулярок применяется к блоку данных
ParsLogs.exe -RootDir=C:Logs примерно 2 минуты
Пробовал парсить 30Гб логов, ушло около 2ч.
Кто-то скажет, так перловый скрипт видимо написан не оптимально, я соглашусь, я в перле новичок, так же как и в Go, т.е. считаем, что оба эти приложения написаны не особо оптимально (кстати в Go написать менее оптимально вероятности куда больше, т.к. там нужно не забывать тот факт, что структуры и большинство типов передаются по значению)
Профилирование приложения показало, что основную нагрузку на приложение дает регулярка:
По этому скорость обработки логов напрямую зависит от того насколько оптимальна написана регулярка и сколько этих регулярок под капотом. Регулярок может быть несколько т.к. в приложении был применен pattern chain of responsibility, об это будет рассказано далее.
Если вы захотите присоединиться к разработке, ниже информация для вас:
Как уже писалось выше, в архитектуре решения был применен pattern chain of responsibility (кому интересно вот статья как накостылить этот паттерн на 1С). Основная структура в коде это Chain и интерфейс IChain который чаще всего будет претерпевать изменения. Структура Chain это есть один из звеньев в цепочки ответственности
Цепочка строится в методе BuildChain() (метод в пакете Tools)
Метод должен возвращать всегда ссылку на последнее звено в цепочке. Используется это так, выполняется метод «звена» Execute, если он вернул nil и есть следующий элемент в цепочке,тогда вызывается Execute следующего элемента. В Execute выполняется регулярка + кой какие пляски, чтобы можно было удобно работать с именованными группами захвата.
- regexp — шаблон регулярного выражения. Группы захвата обязательно должны быть именованными, в Go это делается так (?P …..)
- NextElement — ссылка на предыдущее звено цепочки
- AgregateFileld — имена групп захвата по которым будет производиться агрегация
- OutPattern — шаблон по которому будет выводиться результат. В примере выше маркер %count% нигде не задается, это количество подходящих элементов в группе (при агрегации), давайте считать этот маркер «системным». Группа захвата содержащие значение которое будет суммироваться должна называться Value (имя групп регистрозависимое). Например, если мы захотим агрегировать значения duration, тогда регулярка будет такой `(?si)[d]+:[d]+.[d]+[-](?P [d]+)[,]CALL(. *?)p:processName=(?P [#k8SjZc9Dxk,]+)(. +?)……..`
Проект располагается на github, буду рад, если кто-то присоединится к проекту.
Источник
Код |
Описание |
Действия |
1 | Задача поставлена в очередь | Обратитесь в службу поддержки Сбербанка |
12 | Неверная настройка терминала | Обратитесь в службу поддержки Сбербанка |
13 | На терминал передана команда не содержащая обязательные параметры | Обратитесь в службу поддержки Сбербанка |
14 | Ответ терминала содержит код ошибки | Обратитесь в службу поддержки Сбербанка |
15 | Задача с указанным номером не найдена в очереди задач | Обратитесь в службу поддержки Сбербанка |
23 | На терминал передана не полная команда | Обратитесь в службу поддержки Сбербанка |
35 | Ошибка чтения ключей пинпада | Обратитесь в службу поддержки Сбербанка |
99 | Пинпад не подключен | Проверьте кабели, идущие к пинпаду и перезагрузите терминал |
101 | Операция не поддержи-вается | Обратитесь в службу поддержки Сбербанка |
113 | Ошибка загрузки динамической библиотеки | Обратитесь в службу поддержки Сбербанка |
230 | Ошибка чтения карты | Обратитесь в службу поддержки Сбербанка |
238 | Пинпад отключился | Проверьте кабели, идущие к пинпаду и перезагрузите терминал |
248 | Динамическая память закончилась | Перезагрузите терминал |
249 | На терминал передана команда не содержащая обязательные параметры | Обратитесь в службу поддержки Сбербанка |
250 | Внутренняя ошибка: Операция отменена | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
251 | Внутренняя ошибка: Ошибка записи данных на диск | Обратитесь в службу поддержки Сбербанка |
252 | Внутренняя ошибка: Операция не поддержи-вается | Перезагрузите терминал и кассу. Если не помогло, обратитесь в службу поддержки Сбербанка |
253 | Аппаратный сбой | Проверьте подключение к ОФД |
254 | Внутренняя ошибка: Истекло время ожидания | Обратитесь в службу поддержки Сбербанка |
256 | Некорректное значение параметров | Обратитесь в службу поддержки Сбербанка |
361 | Карта не читается | Пповторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
362 | Карта не читается | Пповторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
363 | Карта не читается | Пповторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
364 | Карта не читается | Пповторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
403 | Введен неверный ПИН-код | Проверьте правильность ввода ПИН-кода |
405 | ПИН блокирован, операция невозможна | Владельцу карты обратиться в службу поддержки Сбербанка |
505 | Карта терминала заполнена. Требуется выполнить инкассацию | Обратитесь в службу поддержки Сбербанка |
507 | Срок действия карты истек | Владельцу карты обратиться в службу поддержки Сбербанка |
514 | На терминале установлена неверная дата | Установить правильную дату на терминале и повторить операцию |
518 | На терминале установлена неверная дата | Установить правильную дату на терминале и повторить операцию |
521 | На карте недостаточно средств | Владельцу карты пополнить баланс карты |
579 | Карта блокирована | Владельцу карты обратиться в службу поддержки Сбербанка |
584 | Сегодня по этой карте больше операций делать нельзя | Владельцу карты обратиться в службу поддержки Сбербанка |
585 | Период обслуживания карты истек | Владельцу карты обратиться в службу поддержки Сбербанка |
586 | Превышен лимит, разрешенный без связи с банком | Владельцу карты обратиться в службу поддержки Сбербанка |
705 | Карта блокирована | Владельцу карты обратиться в службу поддержки Сбербанка |
706 | Карта блокирована | Владельцу карты обратиться в службу поддержки Сбербанка |
708 | ПИН зачисления заблокирован | Владельцу карты обратиться в службу поддержки Сбербанка |
709 | ПИН списания заблокирован | Владельцу карты обратиться в службу поддержки Сбербанка |
2000 | Операция отменена клиентом или кассиром. | Повторите операцию если требуется |
2002 | Превышено время ожидания ввода ПИН-кода | Повторите операцию |
2003 | Операция прервана по требованию кассового ПО | Повторите операцию. Если не помогло, обратитесь в службу поддержки кассового оборудования |
2004 | Превышено время ожидания ответа от пинпада | Пповторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
2008 | Для этой карты операция запрещена | Обратитесь в службу поддержки Сбербанка |
4100 | Нет связи с банком | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4101 | На терминале нет стоп-листа | Выполнить сверку итогов терминала и повторить операцию |
4102 | Нет данных для расчета комиссии | Выполнить сверку итогов терминала и повторить операцию |
4104 | Неверный ответ на команду | Перезагрузите терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4106 | Введен неверный ПИН-код | Проверьте правильность ввода ПИН-кода |
4107 | ПИН блокирован, операция невозможна | Владельцу карты обратиться в службу поддержки Сбербанка |
4108 | Номер карты неверен | Пповторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4110 | Карта терминала заполнена | Выполнить сверку итогов терминала и повторить операцию |
4111 | Стоп-лист устарел | Выполнить сверку итогов терминала и повторить операцию |
4112 | Неверный стоп-лист | Выполнить сверку итогов терминала и повторить операцию |
4113 | Превышен допустимый лимит операции | Владельцу карты обратиться в службу поддержки Сбербанка |
4115 | Для данной карт ручной ввод запрещен | Повторите операцию, считав карту ридером |
4117 | Клиент отказался от ввода ПИН-кода | Повторите операцию если требуется |
4118 | Операции не найдены | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4119 | Нет связи с банком | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4120 | Пинпад не подключен или не за-гружены ключи | Проверьте кабели, идущие к пинпаду и перезагрузите терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4121 | Терминал неисправен | Обратитесь в службу поддержки Сбербанка |
4122 | Ошибка смены ключей | Обратитесь в службу поддержки Сбербанка |
4123 | Не загружены ключи | Перезагрузите терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4123 | Не загружены ключи | Перезагрузите терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4125 | Вместо чипа карты считана магнитная полоса | Вставить карту в чиповый ридер и продолжить операцию |
4128 | Ошибка настройки терминала | Перезагрузите терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4130 | Память заполнена | Сделайте сверку итогов |
4131 | Пинпад был заменен | Обратитесь в службу поддержки Сбербанка |
4132 | Операция отклонена картой | Повторите операцию |
4133 | Неверный код ответа по протоколу VISA2 | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4134 | Слишком долго не выполнялась сверка итогов | Выполнить сверку итогов терминала и повторить операцию |
4135 | Неверно настроены отделы в терминале | Обратитесь в службу поддержки Сбербанка |
4136 | Требуется более свежая версия прошивки в пинпаде | Обратитесь в службу поддержки Сбербанка |
4137 | Ошибка в вводе ПИН-кода | Проверить данные. Повторить попытку |
4138 | Номера карт получателя и отправителя средств совпадают | Ввести другой номер карты |
4139 | Нет нужного варианта связи для операции | Обратитесь в службу поддержки Сбербанка |
4140 | Неверный код или сумма операции | Проверить и изменить данные. Повторить попытку |
4141 | Программная ошибка | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4142 | Не удается выполнить команду | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4143 | Старый СТОП-лист | Обратитесь в службу поддержки Сбербанка |
4144 | Неправильный формат СТОП-листа | Обратитесь в службу поддержки Сбербанка |
4145 | Неправильный формат СТОП-листа | Обратитесь в службу поддержки Сбербанка |
4148 | Карта находится в СТОП-листе | Владельцу карты обратиться в службу поддержки Сбербанка |
4149 | На карте нет имени держателя | Владельцу карты обратиться в службу поддержки Сбербанка |
4150 | Превышен лимит операций без связи с банком | Выполнить операцию с установкой связи с банком |
4151 | Срок действия карты истек | Владельцу карты обратиться в службу поддержки Сбербанка |
4157 | Превышена максимальная сумма операции | Уменьшить сумму операции |
4158 | Карта не поддерживает операции без ПИН | Ввести ПИН |
4159 | Валюта операции не поддержи-вается | Обратитесь в службу поддержки Сбербанка |
4172 | Неизвестный код операции | Обратитесь в службу поддержки Сбербанка |
4173 | Данный класс функций не под-держивается | Обратитесь в службу поддержки Сбербанка |
4174 | Файл не найден | Обратитесь в службу поддержки Сбербанка |
4175 | Слишком большой файл | Обратитесь в службу поддержки Сбербанка |
4177 | Режим сети WiFi не поддержива-ется | Шифрование сети не отвечает требованиям |
4179 | Для таких карт операция не поддержи-вается | Обратитесь в службу поддержки Сбербанка |
4180 | Эта операция возможна только по картам Сбербанка | Использовать карту Сбербанка |
4181 | Нужно обновить версию UPOS в пинпаде | Обратитесь в службу поддержки Сбербанка |
4185 | Неверная карта администра-тора | Обратитесь в службу поддержки Сбербанка |
4186 | Ключ уже введен | Обратитесь в службу поддержки Сбербанка |
4187 | Неверный номер карты | Повторить ввод номера карты |
4188 | Неверный срок действия карты | Повторить ввод срока действия карты |
4189 | Недопустимое значение | Ввести допустимое значение изменяемого параметра |
4190 | Карта не читается | Используйте магнитный считыватель для чтения карты |
4203 | Терминал не зарегистри-рован | Обратитесь в службу поддержки Сбербанка |
4204 | Внутренняя ошибка сервера | Обратитесь в службу поддержки Сбербанка |
4205 | Ошибка связи с хостом | Обратитесь в службу поддержки Сбербанка |
4206 | Нарушение протокола | Обратитесь в службу поддержки Сбербанка |
4207 | Нарушение формата сообщений | Обратитесь в службу поддержки Сбербанка |
4208 | Ошибка базы данных | Обратитесь в службу поддержки Сбербанка |
4209 | Некорректные данные | Обратитесь в службу поддержки Сбербанка |
4210 | Ошибка шифрования | Обратитесь в службу поддержки Сбербанка |
4211 | Отсутствует ключ | Обратитесь в службу поддержки Сбербанка |
4213 | Сервер PSDB слишком нагружен | Повторите операцию через 2-3 минуты |
4220 | Не указан код региона для удаленной загрузки | Обратитесь в службу поддержки Сбербанка |
4221 | Не удалось восстановить связь с ККМ после удаленной загрузки | Перезагрузите терминал и кассу. Если не помогло, обратитесь в службу поддержки Сбербанка |
4222 | Память заполнена. Необходимо отправить чеки на сервер | Выполните сверку итогов и повторите операцию |
4300 | От ККМ поступило недостаточно параметров | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4303 | Мы принимаем только Visa | Обратитесь в службу поддержки Сбербанка |
4311 | Операция не найдена | Повторите операцию с корректным вводом данных. Если не помогло, обратитесь в службу поддержки Сбербанка |
4313 | Номер карты не соответствует исходному | Повторите операцию с помощью карты, по которой производилась операция |
4314 | Это не карта СБЕРКАРТ | Обратитесь в службу поддержки Сбербанка |
4315 | Разрешены только отмены в текущей смене | Выполните операцию возврат |
4323 | Номер карты не совпадает с исходным | Повторите операцию. Если не помгло, владельцу карты обратиться в службу поддержки Сбербанка |
4325 | Сумма не указана | Обратитесь в службу поддержки Сбербанка |
4326 | Карта прочитана не полностью. Повторите считывание карты | Владельцу карты обратиться в службу поддержки Сбербанка |
4327 | Нет товаров для отображения | Произведите настройку списка товаров и цен |
4328 | Информация о товаре отсутствует или неполна | Произведите настройку списка товаров и цен |
4329 | Справочник товаров переполнен | Произведите настройку списка товаров и цен |
4330 | Товар не найден | Произведите настройку списка товаров и цен |
4334 | Карта не считана. Либо цикл ожидания карты прерван нажатием клавиши ESC, либо истек таймаут | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4336 | Валюта указана неверно | Обратитесь в службу поддержки Сбербанка |
4337 | Из кассовой программы передан неверный тип карты | Обратитесь в службу поддержки Сбербанка |
4342 | Ошибка: невозможно запустить диалоговое окно UPOS | Обратитесь в службу поддержки Сбербанка |
4351 | Настроечные файлы *.tlv не найдены | Обратитесь в службу поддержки Сбербанка |
4355 | Этот палец уже зарегистри-рован в базе | Использовать другой палец |
4358 | Палец не опознан | Повторите операцию или предложите клиенту воспользоваться зарегистри-рованным пальцем |
4362 | Пинпад временно заблокирован. Повторите операцию через 15 сек. | Повторите операцию через некоторое время. если не помогло, обратитесь в службу поддержки Сбербанка |
4363 | Превышена сумма оригинальной операции | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4365 | Режим электронного захвата подписи не поддержи-вается | Обратитесь в службу поддержки Сбербанка |
4366 | Рассчитанная скидка меньше минимально допустимой. | Введенная или рассчитанная сумма скидки меньше минимально допустимой. Если скидка вводилась вручную, увеличьте сумму скидки, в противном случае обратитесь в службу поддержки Сбербанка |
4367 | RKL: неверный формат запроса | Обратитесь в службу поддержки Сбербанка |
4368 | RKL: не создана ключевая пара СА | Обратитесь в службу поддержки Сбербанка |
4369 | RKL: не загружен сертификат хоста | Обратитесь в службу поддержки Сбербанка |
4370 | RKL: не загружен публичный ключ СА | Обратитесь в службу поддержки Сбербанка |
4371 | Текущая версия ОС не поддерживает RKL | Обратитесь в службу поддержки Сбербанка |
4372 | RKL: хост CA дает некорректный ответ. | Необходимо перезагрузить терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4380 | Штатная сверка итогов не выполнена. | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4381 | Неверный формат QR-кода | QR-код поврежден, либо финансовая операция по нему не предусмотрена |
4382 | Количество товара не должно превышать 4 млн. 200 тыс. единиц | Повторите операцию на меньшее количество позиций |
4383 | Не удалось открыть сканирующее устройство | Перезагрузите терминал. Если не помогло, обратитесь в службу поддержки Сбербанка |
4384 | Считаны не все данные | Повторите операцию |
4385 | Неверный номер пользователя | Введите корректное значение и повторите операцию |
4389 | Чек уже успешно передан | Действия не требуются |
4400 | Возможно, карта преждевре-менно вынута | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
4401 | Позвоните в банк по т.(800)775-55-55 (495)544-45-46 (495)788-92-74 | Позвонить в службу авторизации Сбербанка и следовать указаниям оператора |
4402 | Позвоните в банк | Позвонить в службу авторизации Сбербанка и следовать указаниям оператора. |
4403 | Терминал заблокирован. Обратитесь в банк. | Обратитесь в службу поддержки Сбербанка |
4404 | Изымите карту | Позвонить в службу авторизации Сбербанка и следовать указаниям оператора. |
4405 | Отказано | Обратитесь в службу поддержки Сбербанка |
4406 | Общая ошибка | Обратитесь в службу поддержки Сбербанка |
4408 | Отказано | Владельцу карты обратиться в службу поддержки Сбербанка |
4411 | Отказано | Владельцу карты обратиться в службу поддержки Сбербанка |
4412 | Транзакция неверна | Обратитесь в службу поддержки Сбербанка |
4413 | Сумма неверна | Обратитесь в службу поддержки Сбербанка |
4414 | Карта неверна | Владельцу карты обратиться в службу поддержки Сбербанка |
4419 | Повторите позже | Операция в данный момент невозможна. Повторить операцию через 10-15 минут. |
4450 | Отказано | Обратитесь в службу поддержки Сбербанка |
4451 | Недостаточно средств | Клиенту пополнить баланс карты |
4454 | Срок действия карты истек | Владельцу карты обратиться в службу поддержки Сбербанка |
4455 | ПИН неверен | Ввести правильный ПИН-код |
4457 | Транзакция не разрешена картой | Владельцу карты обратиться в службу поддержки Сбербанка |
4458 | Транзакция не разрешена терминалом | Обратитесь в службу поддержки Сбербанка |
4461 | Исчерпан лимит | Обратитесь в службу поддержки Сбербанка |
4462 | Карта ограничена | Обратитесь в службу поддержки Сбербанка |
4465 | Исчерпан лимит | Обратитесь в службу поддержки Сбербанка |
4468 | Повторите позже | Операция в данный момент невозможна. Повторить операцию через 10-15 минут. |
4475 | ПИН заблокирован | Владельцу карты обратиться в службу поддержки Сбербанка |
4476 | Нет исходной операции | Обратитесь в службу поддержки Сбербанка |
4478 | Счет неверен | Обратитесь в службу поддержки Сбербанка |
4481 | Повторите позже | Операция в данный момент невозможна. Повторить операцию через 10-15 минут. |
4482 | Отказано | Обратитесь в службу поддержки Сбербанка |
4483 | Ошибка обработки ПИНа | Обратитесь в службу поддержки Сбербанка |
4486 | Ошибка обработки ПИНа | Обратитесь в службу поддержки Сбербанка |
4488 | Ошибка обработки ПИНа | Обратитесь в службу поддержки Сбербанка |
4489 | МАС-код неверен | Обратитесь в службу поддержки Сбербанка |
4490 | Неверная контрольная информация | Обратитесь в службу поддержки Сбербанка |
4491 | Эмитент недоступен | Обратитесь в службу поддержки Сбербанка |
4493 | Транзакция запрещена | Обратитесь в службу поддержки Сбербанка |
4494 | Повторная транзакция | Обратитесь в службу поддержки Сбербанка |
4495 | Отказано | Обратитесь в службу поддержки Сбербанка |
4496 | Ошибка системы | Обратитесь в службу поддержки Сбербанка |
4497 | Повторите операцию позже | Операция в данный момент невозможна. Повторить операцию через 10-15 минут. |
4498 | МАС-код неверен | Обратитесь в службу поддержки Сбербанка |
4499 | Ошибка формата | Обратитесь в службу поддержки Сбербанка |
4710 | Такая карта не обслуживается | Обратитесь в службу поддержки Сбербанка |
5001 | Отказ карты при выборе приложения Error application selection | Владельцу карты обратиться в службу поддержки Сбербанка |
5002 | Отказ карты. Некорректный ответ Chip error | Владельцу карты обратиться в службу поддержки Сбербанка |
5003 | Отказ карты. Некорректный ответ Chip error | Обратиться к персоналу Сбербанка, который устанавливал терминал. |
5015 | Операция отменена клиентом | Повторите операцию. Если не помогло, обратитесь в службу поддержки Сбербанка |
5029 | Такая карта не обслуживается | Обратитесь в службу поддержки Сбербанка |
5042 | Ключ удаленной загрузки неверен | Обратитесь в службу поддержки Сбербанка |
5044 | Нужно позвонить в банк Call issuer | Владельцу карты обратиться в службу поддержки Сбербанка |
5053 | На карте неверные данные Data integrity error | Владельцу карты обратиться в службу поддержки Сбербанка |
5055 | Карта отклонила операцию Transaction declined by card | Владельцу карты обратиться в службу поддержки Сбербанка |
5063 | Карта не ведет историю операций | Владельцу карты обратиться в службу поддержки Сбербанка |
5075 | Необходимо вставить карту в чиповый ридер | Повторите операцию, используя чиповый ридер |
5100 | Подлинность данных не проверена | Владельцу карты обратиться в службу поддержки Сбербанка |
5101 | Ошибка проверки SDA Integrity check error | Владельцу карты обратиться в службу поддержки Сбербанка |
5102 | На карте нет нужных данных | Владельцу карты обратиться в службу поддержки Сбербанка |
5103 | Карта в стоп-листе | Владельцу карты обратиться в службу поддержки Сбербанка |
5104 | Ошибка проверки DDA Integrity check error | Владельцу карты обратиться в службу поддержки Сбербанка |
5105 | Ошибка проверки CDA Integrity check error | Владельцу карты обратиться в службу поддержки Сбербанка |
5108 | Неверная версия приложения EMV | Владельцу карты обратиться в службу поддержки Сбербанка |
5109 | Срок действия карты истек | Владельцу карты обратиться в службу поддержки Сбербанка |
5110 | Срок действия карты еще не настал | Владельцу карты обратиться в службу поддержки Сбербанка |
5111 | Для этой карты такая операция запрещена Operation is prohibited | Владельцу карты обратиться в службу поддержки Сбербанка |
5112 | Карта только что выдана | Владельцу карты обратиться в службу поддержки Сбербанка |
5116 | Личность клиента не проверена Cardholder verification error | Владельцу карты обратиться в службу поддержки Сбербанка |
5117 | Неизвестный код CVM Cardholder verification error | Владельцу карты обратиться в службу поддержки Сбербанка |
5118 | ПИН блокирован | Владельцу карты обратиться в службу поддержки Сбербанка |
5119 | Пин-пад неисправен | Обратитесь в службу поддержки Сбербанка |
5120 | Клиент не ввел ПИН | Повторите операцию с вводом ПИН-кода |
5124 | Такая сумма требует связи с банком | Повторите операцию на меньшую сумму |
5125 | Превышен нижний лимит карты | Операция невозможна |
5126 | Превышен верхний лимит карты | Операция невозможна |
5133 | Операция отклонена картой Transaction declined by card | Владельцу карты обратиться в службу поддержки Сбербанка |
5412 | Операция не может быть одобрена без связи с банком | Владельцу карты обратиться в службу поддержки Сбербанка |
7001 | В функцию передан нулевой указатель | Обратитесь в службу поддержки Сбербанка |
7002 | В функцию Vivo передан параметр с некорретным значением | Обратитесь в службу поддержки Сбербанка |
7003 | Бесконтактный ридер не инициа-лизирован | Обратитесь в службу поддержки Сбербанка |
7009 | Некорректное обращение к функции | Обратитесь в службу поддержки Сбербанка |
7010 | Бесконтактный ридер не отвечает | Перезагрузите терминал |
7022 | Модуль не инициа-лизирован | Обратитесь в службу поддержки Сбербанка |
Исправление ошибки SSL-сессии в пос-терминале
Частым возникновением ошибки SSL-сессии страдают пос-терминалы марки Ingenico, обладающие GPRS/GSM-модулями. Возникают следующие типы ошибок: «0 — 4», «0 -19» и «0 -7». Постараемся понять, в связи с чем данные неполадки появляются и как их устранить.
Что понимается под ошибкой сессии SSL?
Первым делом, определим, что представляет собой SSL и для чего используется пос-устройствами. Википедия гласит:
SSL (с англ. Secure Sockets Layer — уровень защищённых сокетов) является криптографическим протоколом, подразумевающим безопасное соединение (связь). Он часто применялся для передачи моментальных сообщений или обмена ими с использованием эл. почты, интернет-факса и других приложений.
Говоря по-простому, SSL обеспечивает безопасность передачи информации о проходящих транзакциях между пос-аппаратом, процессинговым центром и банковским отделением. Передаваться может следующая информация: идентификационные номера сессии, сертификаты каждой из сторон, шифровальные параметры и др.
Протокол является тяжелым, чтобы успешно завершить передачу сведений необходимо обеспечение налаженным и бесперебойным каналом связи. GPRS 2G-канал такой надежностью не обладает, имеет маленькую ширину, в результате чего при большой загруженности появляется ошибка SSL-сессии.
Способы устранения ошибки сессии SSL
Самым важным и главным выступает обеспечение стабильного канала связи, другие варианты отсутствуют, но возможно попытаться поэкспериментировать:
Перемещение пос-терминала в другую зону (место). Иногда, переместив терминал на новое место, устройство начинает работать лучше и без сбоев. Просто бывает так, что не имеется возможности осуществить такое действие.
Смена SIM-карты. Можно испробовать симки различных сотовых операторов, выбрав самую качественную и оптимальную мобильную связь.
Установка усилителя сотового сигнала. Если вышеупомянутый способ не помог, то особо настырные могут попробовать установить усилитель, но метод может оказаться недейственным при сильно забитом канале связи.
Подключение проводного интернета. Если пос-аппарат обладает Ethernet-портом, но самого проводного интернета в помещении нет, следует осуществить покупку роутера с USB-разъемом, в который подключается 4G-модем (его так же покупаем), принадлежащий любому сотовому оператору, далее терминал осуществляет коннект с роутером посредством кабеля. Способ является проверенным и успешным. Главное убедиться, что 3G/4G-сигнал стабилен в том месте, где стоит терминал.
Покупка пос-терминала с 3G-модулем. В том случае, если все вышеперечисленные способы оказались бестолковыми, или вы их не использовали, то проще всего купить пос-аппарат, обладающий внедренным 3G-модулем, после приобретения можно сразу приступать радоваться жизни, но перед этим убедиться в том, что 3G-связь стабильна, нужно обязательно. Этот способ безотказный, но более затратный.
У многих возникает вопрос: «Может ли возникать SSL-ошибка, если терминал вообще вышел из строя (сломался)?». Ответ прост: если в пос-аппарате сломались GPRS/GSM/3G-модули, то о наличии какой-либо связи можно вообще забыть, устройство не сможет увидеть и сим-карты. А само возникновение ошибки SSL-сессии дает намек на то, что информация была передана и принята, но не в полном объеме, потому что связь оборвалась.
Бывает, что помогает осуществление простой перезагрузки пос-аппарата, но, чаще всего, это служит временным решением, а сама проблема никуда не исчезает.
Благодарим за прочтение, надеемся, что статья была полезной, желаем процветания и безошибочности Вашему бизнесу!
Обращаем внимание, что на просторах нашего интернет-магазина Вы найдете большое количество различных POS-терминалов на любой вкус и кошелек: https://mirbeznala.ru/collection/kategoriya-1
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS
Contact US
Thanks. We have received your request and will respond promptly.
Log In
Come Join Us!
Are you an
Engineering professional?
Join Eng-Tips Forums!
- Talk With Other Members
- Be Notified Of Responses
To Your Posts - Keyword Search
- One-Click Access To Your
Favorite Forums - Automated Signatures
On Your Posts - Best Of All, It’s Free!
*Eng-Tips’s functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.
Posting Guidelines
Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Students Click Here
license error server not connected 10004 nx 12. Please suggest solutions.license error server not connected 10004 nx 12. Please suggest solutions.(OP) 5 Nov 19 09:06
Red Flag SubmittedThank you for helping keep Eng-Tips Forums free from inappropriate posts. |
ResourcesLearn methods and guidelines for using stereolithography (SLA) 3D printed molds in the injection molding process to lower costs and lead time. Discover how this hybrid manufacturing process enables on-demand mold fabrication to quickly produce small batches of thermoplastic parts. Download Now Examine how the principles of DfAM upend many of the long-standing rules around manufacturability — allowing engineers and designers to place a part’s function at the center of their design considerations. Download Now Metal 3D printing has rapidly emerged as a key technology in modern design and manufacturing, so it’s critical educational institutions include it in their curricula to avoid leaving students at a disadvantage as they enter the workforce. Download Now This ebook covers tips for creating and managing workflows, security best practices and protection of intellectual property, Cloud vs. on-premise software solutions, CAD file management, compliance, and more. Download Now |
Join Eng-Tips® Today!
Join your peers on the Internet’s largest technical engineering professional community.
It’s easy to join and it’s free.
Here’s Why Members Love Eng-Tips Forums:
- Talk To Other Members
- Notification Of Responses To Questions
- Favorite Forums One Click Access
- Keyword Search Of All Posts, And More…
Register now while it’s still free!
Already a member? Close this window and log in.
Join Us Close