Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / проблемы с коннектом к ASE при достижении определенного числа активных соединений / 10 сообщений из 10, страница 1 из 1
30.08.2006, 11:13
    #33951683
_kvs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
ОС Windows 2000 Server 5.00.2195 SP4
СУБД Sybase Adaptive Server Enterprise/12.5.1/EBF 11665 ESD#2/P/NT (IX86)/OS 4.0/ase1251/1838/32-bit/OPT/Fri Feb 20 04:11:31 2004
клиент 12.0

по достижении числа коннектов примерно 171 (при number of user connection = 230) не дает приконнектиться: на клиенте ошибка
Layer (5), Origin (3), Severity (5), Number (6) ct_connect(): network packet layer: internal net library error: Net-Library operation terminated due to disconnect

в errorlof сервера одновременно появляется
02:00000:00013:2006/08/30 13:18:36.74 kernel upspawn: no more process slots available
02:00000:00013:2006/08/30 13:18:36.74 server Error: 1603, Severity: 21, State: 2
02:00000:00013:2006/08/30 13:18:36.74 server Process priority 3 invalid or no process slots available

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

судя по описанию ошибки 1603 в мануале, надо увеличивать number of user connection, но его вроде и так хватает (sp_monitorconfig максимум использования 173 показывает), все равно пробовал увеличивать - ничего не дало

подскажите, в какую сторону копать для разрешения проблемы?
...
Рейтинг: 0 / 0
30.08.2006, 12:11
    #33951898
sn1251
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
max memory увеличить?
...
Рейтинг: 0 / 0
30.08.2006, 12:33
    #33951989
_kvs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
во-первых, увеличивать ее уже некуда (на данной операционке больше 2Gb не дает; поставить 2003 не предлагат, т.к. это нереально, сервер боевой...), во вторых
я пробовал допустим уменьшать кэш, чтоб несколько высвободить память
для других структур - не помогло :(
...
Рейтинг: 0 / 0
31.08.2006, 13:21
    #33955301
_kvs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
проэкспериментировал на другом серваке, железо несколько другое, но ОС и ASE те же, а также база (дампируется с основного сервера) - таких проблем нет, дошел до самого предела number of user connection=230 (при 0 свободных подключений дала ошибку 1601, ошибки 1603 в помине не было)
конфиг на 99% такой же, вот сейчас крыжу два конфига, но ничего это не даст скорее всего...
в чем может быть все же причина?
...
Рейтинг: 0 / 0
31.08.2006, 13:50
    #33955431
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
опубликуйте конфиг
попробуйте запускать сервер с опцией "allocate max shared memory" = 1
какие еще процессы на машине запущены ?
это происходит под любым логином к любой базе или есть закономерности ?
когда последний раз все базы проверялись dbcc ?
...
Рейтинг: 0 / 0
31.08.2006, 15:01
    #33955697
_kvs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
allocate max shared mem=1 уже давно
проблемы не зависят от того, каким пользователем,с какой машины коннектишься и к какой базе (база всего одна по существу, кроме master и т.п., вот к ней и коннектимся)
dbcc давно проверяли, т.к. просто некогда - очень долго всю базу проверять, выходных может не хватить...
в принципе, с сервером ничего фатального не происходило (аварий оборудования и т.д.)
тем более что та же база переливается на другой сервак и там все ок (как я понимаю, при переливке те проблемы, которые лечит dbcc, не исчезнут сами собой, если они есть)
на сервере кроме ASE ничего не крутится

вот конфиг с проблемного сервака

[Configuration Options]

[General Information]

[Backup/Recovery]
recovery interval in minutes = 15
print recovery information = DEFAULT
tape retention in days = DEFAULT
max concurrently recovered db = DEFAULT
number of checkpoint tasks = DEFAULT

[Cache Manager]
number of oam trips = 500
number of index trips = DEFAULT
memory alignment boundary = DEFAULT
global async prefetch limit = DEFAULT
global cache partition number = DEFAULT

[Named Cache:default data cache]
cache size = 1205M
cache status = default data cache
cache replacement policy = strict LRU replacement
local cache partition number = 1

[4K I/O Buffer Pool]
pool size = 1.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

[16K I/O Buffer Pool]
pool size = 300.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Named Cache:log_cache]
cache size = 21M
cache status = log only
cache replacement policy = relaxed LRU replacement
local cache partition number = DEFAULT

[4K I/O Buffer Pool]
pool size = 20.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Named Cache:tempdb_cache]
cache size = 145M
cache status = mixed cache
cache replacement policy = strict LRU replacement
local cache partition number = 1

[4K I/O Buffer Pool]
pool size = 4.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

[16K I/O Buffer Pool]
pool size = 35.0000M
wash size = DEFAULT
local async prefetch limit = DEFAULT

[Meta-Data Caches]
number of open databases = DEFAULT
number of open objects = 7000
open object spinlock ratio = DEFAULT
number of open indexes = 4900
open index hash spinlock ratio = DEFAULT
open index spinlock ratio = DEFAULT
partition groups = DEFAULT
partition spinlock ratio = DEFAULT

[Disk I/O]
disk i/o structures = DEFAULT
number of large i/o buffers = DEFAULT
page utilization percent = 85
number of devices = 60
disable disk mirroring = DEFAULT
allow sql server async i/o = DEFAULT

[Languages]
disable character set conversions = DEFAULT

[Unicode]
enable unicode normalization = DEFAULT
enable surrogate processing = DEFAULT
enable unicode conversions = DEFAULT
size of unilib cache = DEFAULT

[Network Communication]
default network packet size = 512
max network packet size = 8192
remote server pre-read packets = DEFAULT
number of remote connections = DEFAULT
number of remote logins = DEFAULT
number of remote sites = DEFAULT
max number network listeners = DEFAULT
tcp no delay = 1
send doneinproc tokens = 0
allow sendmsg = DEFAULT
syb_sendmsg port number = DEFAULT
allow remote access = DEFAULT

[O/S Resources]
max async i/os per engine = DEFAULT
max async i/os per server = DEFAULT

[Parallel Query]
number of worker processes = 1
memory per worker process = DEFAULT
max parallel degree = DEFAULT
max scan parallel degree = DEFAULT

[Physical Resources]

[Physical Memory]
max memory = 1010000
additional network memory = 28672
shared memory starting address = 23662592
allocate max shared memory = 1
dynamic allocation on demand = DEFAULT
lock shared memory = DEFAULT
heap memory per user = 8192

[Processors]
max online engines = 4
number of engines at startup = 4
statement cache size = DEFAULT

[SQL Server Administration]
procedure cache size = 78000
default database size = DEFAULT
identity burning set factor = 1
allow nested triggers = DEFAULT
allow updates to system tables = DEFAULT
default fill factor percent = DEFAULT
default exp_row_size percent = DEFAULT
number of mailboxes = DEFAULT
number of messages = DEFAULT
number of alarms = DEFAULT
number of pre-allocated extents = DEFAULT
event buffers per engine = 2000
cpu accounting flush interval = DEFAULT
i/o accounting flush interval = 100000000
sql server clock tick length = DEFAULT
runnable process search count = 1000
i/o polling process count = 20
time slice = 200
cpu grace time = DEFAULT
number of sort buffers = DEFAULT
size of auto identity column = DEFAULT
identity grab size = DEFAULT
housekeeper free write percent = 5
enable housekeeper GC = DEFAULT
allow resource limits = DEFAULT
number of aux scan descriptors = DEFAULT
SQL Perfmon Integration = DEFAULT
allow backward scans = DEFAULT
license information = 0
enable sort-merge join and JTC = DEFAULT
abstract plan load = DEFAULT
abstract plan dump = DEFAULT
abstract plan replace = DEFAULT
abstract plan cache = DEFAULT
text prefetch size = DEFAULT
enable HA = DEFAULT
number of histogram steps = DEFAULT
sampling percent = DEFAULT
i/o batch size = 300
enable xml = DEFAULT
enable webservices = DEFAULT
enable job scheduler = DEFAULT
job scheduler tasks = DEFAULT
job scheduler interval = DEFAULT
percent database for history = DEFAULT
percent history free = DEFAULT
percent database for output = DEFAULT
percent output free = DEFAULT
maximum job output = DEFAULT

[User Environment]
number of user connections = 260
stack size = 26624
stack guard size = 2048
permission cache entries = DEFAULT
user log cache size = 8192
user log cache spinlock ratio = DEFAULT
enable ldap user auth = DEFAULT

[Lock Manager]
number of locks = 190000
deadlock checking period = 60000
lock spinlock ratio = DEFAULT
lock address spinlock ratio = DEFAULT
lock table spinlock ratio = DEFAULT
lock hashtable size = DEFAULT
lock scheme = datapages
lock wait period = DEFAULT
read committed with lock = DEFAULT
print deadlock information = 1
deadlock retries = 100
page lock promotion HWM = 20000
page lock promotion LWM = DEFAULT
page lock promotion PCT = DEFAULT
row lock promotion HWM = 20000
row lock promotion LWM = DEFAULT
row lock promotion PCT = DEFAULT

[Security Related]
systemwide password expiration = DEFAULT
audit queue size = DEFAULT
curread change w/ open cursors = DEFAULT
allow procedure grouping = DEFAULT
select on syscomments.text = DEFAULT
auditing = DEFAULT
current audit table = DEFAULT
suspend audit when device full = DEFAULT
enable row level access = DEFAULT
check password for digit = DEFAULT
minimum password length = DEFAULT
maximum failed logins = DEFAULT
enable ssl = DEFAULT
unified login required = DEFAULT
use security services = DEFAULT
msg confidentiality reqd = DEFAULT
msg integrity reqd = DEFAULT
secure default login = DEFAULT

[Extended Stored Procedure]
esp unload dll = DEFAULT
esp execution priority = DEFAULT
esp execution stacksize = DEFAULT
xp_cmdshell context = 0
start mail session = DEFAULT

[Error Log]
event logging = DEFAULT
log audit logon success = DEFAULT
log audit logon failure = DEFAULT
event log computer name = DEFAULT

[Rep Agent Thread Administration]
enable rep agent threads = DEFAULT

[Component Integration Services]
enable cis = DEFAULT
cis connect timeout = 120
cis bulk insert batch size = DEFAULT
max cis remote connections = DEFAULT
cis packet size = 1024
cis cursor rows = DEFAULT
enable snmp = DEFAULT
enable file access = DEFAULT
cis bulk insert array size = DEFAULT
enable full-text search = DEFAULT
cis rpc handling = DEFAULT

[Java Services]
enable java = DEFAULT
size of process object heap = DEFAULT
size of shared class heap = DEFAULT
size of global fixed heap = DEFAULT
number of java sockets = DEFAULT
enable enterprise java beans = DEFAULT

[DTM Administration]
enable DTM = DEFAULT
enable xact coordination = DEFAULT
xact coordination interval = DEFAULT
number of dtx participants = DEFAULT
strict dtm enforcement = DEFAULT
txn to pss ratio = DEFAULT
dtm lock timeout period = DEFAULT
dtm detach timeout period = DEFAULT

[Diagnostics]
dump on conditions = DEFAULT
maximum dump conditions = DEFAULT
number of ccbs = DEFAULT
caps per ccb = DEFAULT
average cap size = DEFAULT

[Monitoring]
enable monitoring = DEFAULT
sql text pipe active = DEFAULT
sql text pipe max messages = DEFAULT
plan text pipe active = DEFAULT
plan text pipe max messages = DEFAULT
statement pipe active = DEFAULT
statement pipe max messages = DEFAULT
errorlog pipe active = DEFAULT
errorlog pipe max messages = DEFAULT
deadlock pipe active = 1
deadlock pipe max messages = 100
wait event timing = DEFAULT
process wait events = DEFAULT
object lockwait timing = DEFAULT
SQL batch capture = DEFAULT
statement statistics active = DEFAULT
per object statistics active = DEFAULT
max SQL text monitored = 20480
performance monitoring option = DEFAULT
...
Рейтинг: 0 / 0
31.08.2006, 16:04
    #33955959
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
сколько всего памяти на сервере ?
рекомендуется занимать не больше 75%, а если больше 90%, то Sybase официально гарантирует проблемы.
зачем выставили shared memory starting address ? может стоит выставить в 0 ?
теперь попробуйте без allocate max shared mem.

надо помнить, что общее кол-во используемой памяти считается приблизительно так :
user connections * 51200 bytes +
open database * 644 bytes +
locks * 32 bytes +
devices * 45056 bytes +
procedure cache +
other caches
плюс еще для каждого коннекта выделяется память для стека и лога
попробуйте кардинально уменьшить дефолтный кэш или поиграться с другими настройками, влияющими на выделение памяти.

и еще иногда помогает накатить патч, если совсем непонятно, что происходит...
...
Рейтинг: 0 / 0
31.08.2006, 16:32
    #33956103
_kvs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
памяти на серваке 4Gb, система видит 3.5Гб (остальные адреса аппаратная часть отхапала как я понимаю
shared memory starting address выставили согласно рекомендации Sybase (в форумах мелькало, да и в рук-ве по инсталяции под нт есть), чтоб дать 2Gb памяти для ASE (иначе больше 1.5 ОС не дает)

как я понимаю, при allocate max shared memory = 1 ASE занимает память, которую ей надо в соответствии с настройками (number of user conn и т.д,) и больше не просит, поэтому если она стартовала, то дальше все должно быть ок, или я не прав?

я тоже склоняюсь немного уменьшить max mem, сегодня сделаю - завтра сообщу что это дало

самое главное, что других претензий к работе сервера нет, нормально стартует и работает (обычно если слишком много памяти затребовать, он не стартует)
...
Рейтинг: 0 / 0
01.09.2006, 11:57
    #33957965
_kvs
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
в общем, я уменьшил max memory на 10000 (с 1010000 до 1000000)
и проблема с коннектами ушла!
всем спасибо!
...
Рейтинг: 0 / 0
19.09.2006, 15:58
    #33997198
Aleksey Kh.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
проблемы с коннектом к ASE при достижении определенного числа активных соединений
система видит 3.5Гб (остальные адреса аппаратная часть отхапала как я понимаю)
неа
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / проблемы с коннектом к ASE при достижении определенного числа активных соединений / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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