Гость
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / all threads are blocked / 6 сообщений из 6, страница 1 из 1
17.05.2014, 10:59
    #38644094
alolya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
all threads are blocked
Добрый день, коллеги :)

Подскажите, кто как исправил ошибку sybase : all threads are blocked. В доке написано, что она связана с тем, что я читаю или пишу, а кто-то другой заблокировал эти данные. Но программа работала на протяжении нескольких лет и сейчас база вообще юзается несколькими сервисами. Поэтому предположил

1) что кто-то запустил что-то новое на серваке (маловероятно)
ИЛИ
2) уменьшили кол-во потоков. читал про опцию THREAD_COUNT. Но не могу найти ее и как изменить. стоит ASA Anywhere 12

СПАСИБО.

p.s. параллельно сейчас конвертирую log файл dbtran может там что-то увижу.
...
Рейтинг: 0 / 0
17.05.2014, 19:30
    #38644245
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
all threads are blocked
...
Рейтинг: 0 / 0
20.05.2014, 15:33
    #38646592
_Drive_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
all threads are blocked
Все доброго дня

см. параметры запуска dbsrv
-gt
-gtc

но может оказаться так что это НЕ поможет ... если на сервер существенно выросла нагрузка
и количество допустимых коннектов не лимитировано (ну например вы указали при установке 10000 коннектов)
то изучайте куда девается "процессорное время" .. короче оптимизируйте процедуры, запросы и тд. и т.п.
...
Рейтинг: 0 / 0
22.05.2014, 12:15
    #38648741
alolya
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
all threads are blocked
_Drive_,

переписал работу с таблицами в процедуре. Заменил на заполнение временной таблицы и работой уже с ней.
...
Рейтинг: 0 / 0
27.05.2014, 11:38
    #38652962
_Drive_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
all threads are blocked
Доброго дня,

Проанализируйте время исполнения всех операторов (или блоков) процедуры.
Я например делал так:

declare iExecTime integer;
declare dt datetime;

set dt = now();

insert into ... select ....

set iExecTime = datediff(millisecond, dt, now());
set dt = now();
message '(',@@spid,') usp_myproc:: 1 exec time ',iExecTime,' ms' to console;

create index ... on ...(...)
update ... set ... from ...

set iExecTime = datediff(millisecond, dt, now());
set dt = now();
message '(',@@spid,') usp_myproc:: 2 exec time ',iExecTime,' ms' to console;

select ..... from ... where ...

set iExecTime = datediff(millisecond, dt, now());
set dt = now();
message '(',@@spid,') usp_myproc:: 3 exec time ',iExecTime,' ms' to console;


В результате выявлялся кусок на который тратится больше всего времени ...
вот его и оптимизируешь.

PS: у нас больше всего съедало времени - insert into proxy_table
...
Рейтинг: 0 / 0
27.05.2014, 13:32
    #38653206
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
all threads are blocked
27.05.2014 12:38, _Drive_ пишет:

> Проанализируйте время исполнения всех операторов (или блоков) процедуры.
> Я например делал так:

А включить профайлинг не судьба ;)?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / all threads are blocked / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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