Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory. / 25 сообщений из 45, страница 1 из 2
10.03.2009, 17:53
    #35860397
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Доброго дня!

Подскажите, п-та, как можно лечить такое поведение сервера:
клиентские приложения, которые работают через Shared Mem с БД Informix примерно в 50% случаев не могут подсоединится к бд:

Код: plaintext
1.
2.
4GL run-time error number -25588.
The appl process cannot connect to the database server

ОС - RedHat 2.6.18-92.el5
Информикс - 11.50UC3
На сервере установлено 512 МБ ОП. Ядро работает с разделяемой памятью след. оброазом
Код: plaintext
1.
2.
3.
kernel.shmmni = 4096
kernel.shmall = 536870912
kernel.shmmax = 4294967295
Вот кусок конфига про разделяемую память:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
RESIDENT        0               
SHMBASE         0x44000000        
SHMVIRTSIZE     32768           
SHMADD          4096
EXTSHMADD       4096
SHMTOTAL        0               
SHMVIRT_ALLOCSEG 0.000000        
SHMNOACCESS                     

Не могу понять в чем причина... В логе Информикса ничего нет по этому поводу.
Ошибка то есть, то ее нет(

Спасибо всем заранее!
...
Рейтинг: 0 / 0
10.03.2009, 18:13
    #35860460
Ikir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
А что прописано в конфиге в строке
NETTYPE ipcshm.... ?
...
Рейтинг: 0 / 0
10.03.2009, 18:17
    #35860463
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Попробуйте через tcp.

С уважением,
Виктор
...
Рейтинг: 0 / 0
10.03.2009, 18:45
    #35860524
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Ikir,

Текущее значение
Код: plaintext
NETTYPE         ipcshm,1,200,CPU

Было по умолчанию
Код: plaintext
NETTYPE         ipcshm,1,50,CPU

Может "поиграть" значениями?
...
Рейтинг: 0 / 0
10.03.2009, 18:46
    #35860529
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
victor16,

Спасибо за совет, но, к сожалению, такой возможности нет...
...
Рейтинг: 0 / 0
10.03.2009, 19:18
    #35860599
onstat-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. СIkir,

Текущее значение
Код: plaintext
NETTYPE         ipcshm,1,200,CPU

Было по умолчанию
Код: plaintext
NETTYPE         ipcshm,1,50,CPU

Может "поиграть" значениями?

Поиграйте значениями


ipcs -l
------ Semaphore Limits --------
max number of arrays = ХХХХ // SEMMNI
max semaphores per array = ХХХ // SEMMSL
max semaphores system wide = ХХХХХХ // SEMMNS
max ops per semop call = 32 // SEMOPM
semaphore max value = 32767



насколько я помню для каждого соединения через разделяемую память
дополнительно нужен один семафор в ОС.
Если их не будет хватать, то соединиться с базой сессия не сможет.
...
Рейтинг: 0 / 0
10.03.2009, 19:53
    #35860640
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
onstat-,

Спасибо, буду играться с параметрами ядра.

Заметил интересную вещь:
на работающей системе onstat -u выдает в конце:
Код: plaintext
40 active, 128 total, 60 maximum concurrent

А на моей, ошибки начинают чаще появляться при
Код: plaintext
23 active, 128 total, 24 maximum concurrent

И что-то мне подсказывает, что это может играть роль)

Не могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??
...
Рейтинг: 0 / 0
10.03.2009, 20:55
    #35860704
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. С
Код: plaintext
23 active, 128 total, 24 maximum concurrent

23 активные сессии СЕЙЧАС, 128 может быть активным без каких либо доптелодвижений со стороны сервера и админа, с момента старта максимум АКТИВНЫХ сессий (в один момент времени) был 24
...
Рейтинг: 0 / 0
10.03.2009, 20:57
    #35860707
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. С
Не могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??
клиентов поназапускай, не закрывай - и вуаля. считается исходя из соединений :)
...
Рейтинг: 0 / 0
10.03.2009, 21:07
    #35860720
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
АнатоЛой клиентов поназапускай, не закрывай - и вуаля. считается исходя из соединений :)

Понял, спасибо.

Просто заметил, что пока моих приложений запущено меньше 5 штук - вероятность получить ошибку (-25588 cannot connect to the database) около 75%.
А как только я запускаю 5-6 приложений - все 100% (т.е. вообще больше не запускается ничего).

Явно кончаются какие-то ресурсы сервера. Но какие - это вопрос.
...
Рейтинг: 0 / 0
10.03.2009, 21:27
    #35860742
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. Сvictor16,

Спасибо за совет, но, к сожалению, такой возможности нет...
Разве проблема подсоединиться по tcp через localhost?
...
Рейтинг: 0 / 0
10.03.2009, 21:41
    #35860758
onstat-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. С

Не могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??

А погуглить ?

Вот на ucdi ответ на подобный вопрос, похож на правду( на то что я когда то давно, в доке читал).
Думаю, что и ссылку на доку где точно описано нагуглить можно.
...
Рейтинг: 0 / 0
10.03.2009, 21:45
    #35860761
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
В момент отказа соединения приведите:
1) версию 4GL
2) onstat -g seg
3) free
4) ipcs
5) cat /proc/meminfo
Скорее всего, памяти маловато.

С уважением
Виктор
...
Рейтинг: 0 / 0
10.03.2009, 22:01
    #35860776
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. СНе могу понять, как увеличить значение maximum concurrent ?? Оно как-то динамически вычисляется исходя из ресурсов??
Справочник администратора
В последней строке вывода команды onstat -u показано максимальное число параллельных пользовательских потоков, которое когда-либо было выделено с момента инициализации сервера баз данных. Например, ниже приводится пример последней строки вывода команды onstat -u :

Код: plaintext
4 активных, 128 всего, 17 максимальное число параллельных

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

C уважением
Виктор
...
Рейтинг: 0 / 0
10.03.2009, 22:02
    #35860777
zaiets
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. С[

Просто заметил, что пока моих приложений запущено меньше 5 штук - вероятность получить ошибку (-25588 cannot connect to the database) около 75%.
А как только я запускаю 5-6 приложений - все 100% (т.е. вообще больше не запускается ничего).

Явно кончаются какие-то ресурсы сервера. Но какие - это вопрос.

Насколько я понимаю, если проблема таки проявляется при достижении какого-то порогового
значения количества сессий + приложения запускаются локально,
скорее всего трабла таки действительно в ресурсах.
Найти сервер с 512 метрами эт еще поискать нужно :)

В принципе-то описание ошибки говорит обо всем:

The shared memory communication subsystem is down or not functioning.
Contact the database server administrator to report the problem.

Мы перешли на использование TCP - все работает ОК. Не бойтесь TCP.
Правда мы переходили на использование TCP не по причине аналогичной вашей.

На линуксах, все работало с настройками ядра умолчанию, добавляли токо
kernel.sem = 250 32000 32 128 (что-то вроде как по умолчанию было меньше чем нужно)
в /etc/sysctl.conf

но на 512 М запускать даже не пробовали, да и Линукс 32бит со своей организацией памяти - не лучшее решение как по мне.
...
Рейтинг: 0 / 0
11.03.2009, 10:00
    #35861228
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
2 All

Всем спасибо за советы. Но решить проблему так и не удалось ((

Вариант с TCP я еще не пробовал, т.к. не знаю, как написаны клиентские приложения, и будут ли они вообще работать. Кроме этого, для меня очень критична скорость OLTP, а как на это повлияет переход с Shared Mem на ТСР я пока не знаю.

Добавил памяти в сервер, стало 2Гб. Ситуация вообще никак не изменилась.
Ниже привожу отладочную информацию на тот момент, когда клиентские приложения вообще не могут подключится к БД.

Итак, поехали:
onstat -g seg


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
IBM Informix Dynamic Server Version 11.50.UC3TL -- On-Line -- Up 00:06:10 -- 807324 Kbytes

Segment Summary:
id         key        addr     size       ovhd     class blkused  blkfree
65537      52564801   44000000 555053056  3475452  R     135508   3
98306      52564802   65157000 268435456  1574024  V     5149     60387
131075     52564803   75157000 1605632    10400    M     392      0
163844     52564804   752df000 1605632    10400    M     390      2
Total:     -          -        826699776  -        -     141439   60392

   (* segment locked in memory)
free
Код: plaintext
1.
2.
3.
             total       used       free     shared    buffers     cached
Mem:       2075652     442052    1633600          0      26460     351556
-/+ buffers/cache:      64036    2011616
Swap:       786424          0     786424


ipcs -l
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 2147483648
min seg size (bytes) = 1

------ Semaphore Limits --------
max number of arrays = 1280
max semaphores per array = 500
max semaphores system wide = 320000
max ops per semop call = 32
semaphore max value = 32767

------ Messages: Limits --------
max queues system wide = 2048
max size of message (bytes) = 262144
default max size of queue (bytes) = 262144

ipcs
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status
0x00000000 32768      gdm       600        393216     2          dest
0x52564801 65537      root      660        555053056  11
0x52564802 98306      root      660        268435456  11
0x52564803 131075     root      666        1605632    12
0x52564804 163844     root      666        1605632    12

------ Semaphore Arrays --------
key        semid      owner      perms      nsems
0x00000000 0          root      660        10
0x00000000 32769      root      666        100
0x00000000 65538      root      666        52
0x00000000 98307      root      666        100
0x00000000 131076     root      666        52
0x00000000 163845     root      660        1

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages


cat /proc/meminfo
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
MemTotal:      2075652 kB
MemFree:       1633476 kB
Buffers:         26532 kB
Cached:         351556 kB
SwapCached:          0 kB
Active:          79936 kB
Inactive:       339340 kB
HighTotal:     1179584 kB
HighFree:       779368 kB
LowTotal:       896068 kB
LowFree:        854108 kB
SwapTotal:      786424 kB
SwapFree:       786424 kB
Dirty:              20 kB
Writeback:           0 kB
AnonPages:       41208 kB
Mapped:          86120 kB
Slab:            12748 kB
PageTables:       2600 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
CommitLimit:   1824248 kB
Committed_AS:   963496 kB
VmallocTotal:   114680 kB
VmallocUsed:      4836 kB
VmallocChunk:   109528 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
Hugepagesize:     4096 kB

Куда дальше копать - пока не знаю (
...
Рейтинг: 0 / 0
11.03.2009, 10:19
    #35861286
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
сразу после ошибки от рута
dmesg|tail и сюда запостите
...
Рейтинг: 0 / 0
11.03.2009, 10:54
    #35861411
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Денис,

результат dmesg|tail :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8
Bluetooth: HIDP (Human Interface Emulation) ver 1.1
mtrr: your processor doesn't support write-combining

После повторения ошибки ничего нового не добавляется в лог.
...
Рейтинг: 0 / 0
11.03.2009, 11:05
    #35861439
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Павел. С
IBM Informix Dynamic Server Version 11.50.UC3TL -- On-Line -- Up 00:06:10 -- 807324 Kbytes

807324 Kbytes ?? А памяти 512? это как?
...
Рейтинг: 0 / 0
11.03.2009, 11:12
    #35861468
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Денис,

Памяти уже 2 Гб. Сегодня ночью установил. Как уже писал, ничего не изменилось.

Вся отладочная информация, которую я привел, касается новой конфигурации (2Гб).
...
Рейтинг: 0 / 0
11.03.2009, 11:16
    #35861485
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
free показывает 2 гига.
Что делать:
1) Однозначно увеличить SHMVIRTSIZE, SHMADD, EXTSHMADD
2) Ограничить SHMTOTAL
3) Перейти на TCP через localhost
- добавить новый алиас в DBSERVERALIASES
- прописать алиас в sqlhosts
- указать клиентам новый алиас
4) Если TCP все-таки невозможно (правда, непонятно почему)
поиграться SHMBASE
...
Рейтинг: 0 / 0
11.03.2009, 11:20
    #35861499
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
В предыдущем посте неправильно
вместо SHMBASE читать INFORMIXSHMBASE

С уважением,
Виктор
...
Рейтинг: 0 / 0
11.03.2009, 11:28
    #35861543
Павел. С
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
victor16,
Спасибо, буду пробовать.



Правильно у Вас в предыдущем посте. У меня в конфиге этот параметр называется SHMBASE
Текущее значение 0x44000000
...
Рейтинг: 0 / 0
11.03.2009, 11:37
    #35861591
sysmaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
На всякий пожарный выложите onconfig, sqlhosts, и online.log сервера.
...
Рейтинг: 0 / 0
11.03.2009, 11:40
    #35861599
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory.
Нет, это разные параметры
SHMBASE - параметр конфигурации, задает базовый адрес, указывающий, где совместная память подключается к пространству памяти виртуального процессора. Его менять не рекомендуется, значение можно посмотреть в release для IDS.
INFORMIXSHMBAE - переменная среды, задает адрес, который следует использовать для подключения к сегментам совместной памяти сервера, выделенной для связи. Если она не задана, адрес будет зависить от платформы, посмотреть можно тоже в release для 4GL. В Вашем случае она не задана, поэтому скорее всего, при запуске большого количества приложений, соединяющихся через shm, этот адрес становится занятым, и дальнейшие соединения становятся невозможными.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Informix 11.50. "Плавающий" -25588 (cannot connect to the database). Shared Memory. / 25 сообщений из 45, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]