powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA9 При увеличении подключений производительность сильно падает ...
22 сообщений из 22, страница 1 из 1
ASA9 При увеличении подключений производительность сильно падает ...
    #33199769
Igor111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Каждая копия клиентского приложения использует 3 коннекта.
На 1 и 2 коннекте в среднем по 1-2 открытых курсора.
На 3 коннекте порядка 25 открытых курсора.
Все пользователи и коннекшоны коннектятся под DBA.

Что можно сделать?
Может из-за того что всё под dba тормозить?
Сервак приличный, но на нём ещё запущены помимо севера ASA9 2 сервера ASA7.

Занятость процессоров в среднем по 60%. (2 процессора по 2 ядра).
OS Win 2003.

Не удается инициализировать область данных системного монитора NT; запуск сервера продолжается
Adaptive Server Anywhere Network Server Version 9.0.2.3131

Copyright c 1989-2004 Sybase, Inc.
Частичное Copyright c 2002-2004, iAnywhere Solutions, Inc.
Все права защищены. Все неопубликованные права защищены.

This software contains confidential and trade secret information of
iAnywhere Solutions, Inc.
Use, duplication or disclosure of the software and documentation
by the U.S. Government is subject to restrictions set forth in a license
agreement between the Government and iAnywhere Solutions, Inc. or
other written agreement specifying the Government's rights to use the
software and any applicable FAR provisions, for example, FAR 52.227-19.

iAnywhere Solutions, Inc., One Sybase Drive, Dublin, CA 94568, USA

ru:4 logical processor(s) on 2 physical processor(s) detected.
Модель лицензирования по числу процессоров. Доступ к серверу ограничен 4 процессорами.
Лицензией на этот сервер обладает:
AZ
AZ
Выполняется на Windows 2003 Build 3790
462832K памяти использовано для кэширования
Минимальный размер кэша: 2048К, максимальный размер кэша: 462832К
Использование страницы максимального размера 8192 байт
Запуск базы данных "z9" (D:\z9.db) в Ср 03 Авг 2005 г. 12:57
Системное предупреждение: файл базы данных "D:\z9.db" состоит из 2 дисковых фрагментов
Журнал транзакций: z9.log
Зеркальная копия журнала транзакций: z9.mlg
Запуск контрольной точки "z9" (z9.db) в Ср 03 Авг 2005 г. 12:57
Завершение контрольной точки "z9" (z9.db) в Ср 03 Авг 2005 г. 12:57
База данных "z9" (z9.db) запущена в Ср 03 Авг 2005 г. 12:57
Сервер базы данных запущен Ср 03 Авг 2005 г. 12:57
Попытка запустить канал связи SharedMemory ...

канал связи SharedMemory запущен успешно

Попытка запустить канал связи TCPIP ...

Запуск в порте 49152
канал связи TCPIP запущен успешно

Сейчас принимаются запросы
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33199785
Igor111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Строка запуска
dbsrv9.exe -x tcpip(ServerPort=49152) -n Z9 -m -p 2048 -u -zl "D:\z9.db"
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33199887
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor111111Все пользователи и коннекшоны коннектятся под DBA.
Это нехорошо с точки зрения безопасности. Это очень нехорошо с точки зрения безопасности. Но с точки зрения производительности разницы нет.

Что можно сделать? Запустить профайлер, набрать статистику и посмотреть какие запросы занимают основное время. Подумать каких индексов не хватает, какие лишние. Оптимизировать запросы. В общем обычная рутина.

Igor111111dbsrv9.exe -x tcpip(ServerPort=49152) -n Z9 -m -p 2048 -u -zl "D:\z9.db"
А зачем используется ключик -m? Он же запрещает серверу вести лог, вернее обнуляет его по завершению транзакции и совсем убивает по шатдауну сервера. А у тебя в базе при этом есть простой лог и зеркальный. В общем бессмысленно как-то :)
Ключ -u тоже может слегка притормаживать сервер. Конфликты кешей знаете-ли... Но вряд ли это будет заметно глазу.
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33199963
Igor111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl
Это нехорошо с точки зрения безопасности. Это очень нехорошо с точки зрения безопасности. Но с точки зрения производительности разницы нет.

Коннект идёт автоматом из приложения. Пользователи не могут администрировать...

White Owl
Что можно сделать? Запустить профайлер, набрать статистику и посмотреть какие запросы занимают основное время. Подумать каких индексов не хватает, какие лишние. Оптимизировать запросы. В общем обычная рутина.

Профайлер? Это что? В смысле план запроса в ISQL смотреть, какие ветви как отрабатывают?

White Owl
А зачем используется ключик -m? Он же запрещает серверу вести лог, вернее обнуляет его по завершению транзакции и совсем убивает по шатдауну сервера. А у тебя в базе при этом есть простой лог и зеркальный. В общем бессмысленно как-то :)
Ключ -u тоже может слегка притормаживать сервер. Конфликты кешей знаете-ли... Но вряд ли это будет заметно глазу.
-m поставлен был что-бы логи гигабитные не получались, бэкапилась база с такими логами...
А зеркальный поставил потому что был случай когда лог поролся.
Ну может я с этим немного и напутал :).

Самое главное в том что, при разработке одновременно 5 человек работало с базой (3 программера и 2 проверяли параллельно(т.е. работали с такими же клиентскими приложениями)). Так сервак на моей машине крутился которая на несколько порядков по производительности ниже. (у меня полный П4, гиг памяти у клиента сервер HP 2*Xeon, 2Gb, SCSI массив) так у меня при таком же кол-ве пользователей работало раз в 5 быстрее.

Есть смысл смотреть свойства соединений через sa_conn_properties?
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33199986
Igor111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё специфика приложения в том что запускаются сложные расчёты (на них то в принципе и тормозит),
При расчёте в программе идёт куча запросов в перемешку с расчётами.
ХП использовать не представляется возможным...
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33200428
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor111111Коннект идёт автоматом из приложения. Пользователи не могут администрировать...
Не важно. Все равно это очень плохая идея давать пользователям DBA права.

Igor111111Профайлер? Это что? В смысле план запроса в ISQL смотреть, какие ветви как отрабатывают?
Запускаешь Sybase Central, правой кнопкой по имени базы данных выбираешь Profiling->Start Profiling
Потом смотришь страницу (там же, в Централе) базы Profile. Там будут все запросы за период после старта профайлера отсортированые по тяжести. Смотришь какие запросы выполняются долго, какие быстро. И оптимизируешь те которые выполняются долго. Для оптимизации естественно прийдется план запроса поизучать.

Igor111111-m поставлен был что-бы логи гигабитные не получались, бэкапилась база с такими логами...
Дак там вообще никакие логи получаться не будут! :)

Igor111111Есть смысл смотреть свойства соединений через sa_conn_properties?
Вряд-ли :)
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33200429
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor111111Ещё специфика приложения в том что запускаются сложные расчёты (на них то в принципе и тормозит),
При расчёте в программе идёт куча запросов в перемешку с расчётами.
ХП использовать не представляется возможным...
Это почему вдруг? Лично я, все расчеты, всегда, стараюсь запихнуть в хранимки. Тогда я буду уверен что расчеты делаются правильно и однообразно и не важно какой клиент в данный момент полез к базе.
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33200533
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще вызывает легкое недоумение фраза выданная автором о 25 открытых
курсорах. Они что, одновременно? Вложенные друг в друга в 25 уровней?
Нах, нах, ой. Вах! Вах! Вот в MSSQL по умолчанию не откроешь следующий пока
не закроешь предыдущий. А тут если открыть 25 подряд одним коннектом, так
может АСА и поплохеет.
Автор, разъясните ситуацию с курсорами!


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33200610
_Dog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Igor111111Строка запуска
dbsrv9.exe -x tcpip(ServerPort=49152) -n Z9 -m -p 2048 -u -zl "D:\z9.db"

Imho -c 80P добавьте...
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33201234
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl
Запускаешь Sybase Central, правой кнопкой по имени базы данных выбираешь Profiling->Start Profiling
Потом смотришь страницу (там же, в Централе) базы Profile. Там будут все запросы за период после старта профайлера отсортированые по тяжести. Смотришь какие запросы выполняются долго, какие быстро. И оптимизируешь те которые выполняются долго. Для оптимизации естественно прийдется план запроса поизучать.


Да штука конечно интересная... Но вот что-то не получается через неё мои запросы видеть. Вот то что вижу...
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33201242
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Картика
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33201247
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати что-то форум глючит при добавлении картинки с именем "tmp.bmp" говорит "Документ не содержит данных"
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33201349
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iLLer
А еще вызывает легкое недоумение фраза выданная автором о 25 открытых
курсорах. Они что, одновременно? Вложенные друг в друга в 25 уровней?
Нах, нах, ой. Вах! Вах! Вот в MSSQL по умолчанию не откроешь следующий пока
не закроешь предыдущий. А тут если открыть 25 подряд одним коннектом, так
может АСА и поплохеет.
Автор, разъясните ситуацию с курсорами!


Одни курсоры (6 штук) открываются для навигации по объектам и отображения вспомогательной информации про объекты.
В редакторе объекта находится несколько закладок, данные на которую выбираются через отдельный запрос (1 закладка - 1 курсор).
Закладок до 10 в зависимости от типа объекта.
На одной из закладок есть до 10 выпадающих списков (Delphi.DBLookUpComboBox), которые также имеют свой DataSource (а соответственно и курсор).
CursorLocation = clUseClient
CursorType = Static

А вот можно как нибудь посмотреть инфо об открытых курсорах на конкретном коннекте (ну кроме их кол-ва в sa_conn_properties).
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33201388
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Dog
Imho -c 80P добавьте...

Попробовать можно конечно, но я думаю не сильно спасёт сама база около 600Мб
кеш по запуску под 500мб сам ставилсяююю
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33202444
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCSДа штука конечно интересная... Но вот что-то не получается через неё мои запросы видеть. Вот то что вижу...
Так а ты подожди чуток. Запусти например своего клиента и попытайся поработать. В профайл попадают все команды которые дают все клиенты. Простые команды будут там в открытом виде лежать, по процедуры можно пощелкать - попадешь в тело процедуры и там каждая команда данная процедурой будет иметь цифру миллисекунд выполнения и сколько процентов времени эта команда заняла от общего времени выполнения процедуры.
Узкие места просто в лет находятся!
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33202527
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl
Простые команды будут там в открытом виде лежать
Не видно у меня простых команд. Может потому что они через ADO посылаются.
Вот по количеству вызовов
sa_oledb_indexes (4414 раз)
sa_oledb_primary_keys (5658 раз)
можно сказать что было выполнено около 5000 тыщ query (запросов, курсоров)
Но я их не вижу... :(

В Folter Object by Owner dba стоит. Все пользователи коннектятся под ним. Под именем DBA в профайлера только 1 строка стоит когда у меня BackUp отработал...

White Owl
по процедуры можно пощелкать - попадешь в тело процедуры и там каждая команда данная процедурой будет иметь цифру миллисекунд выполнения и сколько процентов времени эта команда заняла от общего времени выполнения процедуры.
Узкие места просто в лет находятся!
Это да, по ХП всё видно, всё заходится
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33202709
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorCCS White Owl
Простые команды будут там в открытом виде лежать
Не видно у меня простых команд. Может потому что они через ADO посылаются.
хм.... сейчас попробовал из VBS через ADO - действительно не видно простых команд. Странно. Наверное я их где-то в другом месте видел....
О! Там же в Централе есть еще одна пакость называется Index Consultant. Вызывается так же через контекстное меню для базы. Вот оно точно умеет перехватывать отдельные команды пришедшие от клиентов и сразу предлагает добавить/убрать индексы.
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33202725
Igor111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owl IgorCCS White Owl
Простые команды будут там в открытом виде лежать
Не видно у меня простых команд. Может потому что они через ADO посылаются.
хм.... сейчас попробовал из VBS через ADO - действительно не видно простых команд. Странно. Наверное я их где-то в другом месте видел....
О! Там же в Централе есть еще одна пакость называется Index Consultant. Вызывается так же через контекстное меню для базы. Вот оно точно умеет перехватывать отдельные команды пришедшие от клиентов и сразу предлагает добавить/убрать индексы.

Консультант это конечно хорошо, спасибо за наводку завтра посмотрю. Если б в профайлере это было вообще было бы замечательно. А консультант он только по индексам. С ними уже вроде разобрался. Отследить поступающие запросы вот это было бы класс.
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33202855
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На такой машине, да с такой базой(600М) должно все летать, ведь фактически
вся БД грузится в память!!!
Может из-за ключа -м сервак вынужден сбрасывать страницы на диск, поэтому
если у вас очень много транзакций, то лучше от этого ключа избавиться.
У сервера есть средство логгирования запросов. Вроде ключ -zr, может
поможет. Но только это не профайлер.
Еще советую добавить -cw, потому как винда считает себя умней, и без этого
ключа может запросто держать сервачный кэш на диске. Что из этого
получается - можете догадаться. Ну и лучше, конечно, принудительно указать
размер кэша.
Держать курсоры открытыми - плохой тон. Клиент должен закрывать курсоры как
можно скорее. Вы уверены, что курсоры не закрываются? Ибо "1 закладка - 1
курсор" еще не говорит о том, что курсор не закрывается!


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33203114
IgorCCS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iLLer
На такой машине, да с такой базой(600М) должно все летать, ведь фактически
вся БД грузится в память!!!
Может из-за ключа -м сервак вынужден сбрасывать страницы на диск, поэтому
если у вас очень много транзакций, то лучше от этого ключа избавиться.
У сервера есть средство логгирования запросов. Вроде ключ -zr, может
поможет. Но только это не профайлер.

смотреть через -zr конечно можно... :) Спасибо за наводку.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
** REQUEST conn:  1      STMT_PREPARE            "select * from users"
** DONE    conn:  1      STMT_PREPARE            Stmt= 131106  
** REQUEST conn:  1      STMT_DESCRIBE_OUTPUT    Stmt=- 1  
** DONE    conn:  1      STMT_DESCRIBE_OUTPUT    
** REQUEST conn:  1      STMT_DESCRIBE_INPUT     Stmt=- 1  
** DONE    conn:  1      STMT_DESCRIBE_INPUT     
** REQUEST conn:  1      CURSOR_OPEN             Stmt= 131106  
** DONE    conn:  1      CURSOR_OPEN             Crsr= 131107  
** REQUEST conn:  1      ROW_DESCRIPTOR          Crsr= 131107  
** DONE    conn:  1      ROW_DESCRIPTOR          
** REQUEST conn:  1      CURSOR_FETCH            Crsr= 131107 , Count= 33 , Offset= 1  (relative)
** DONE    conn:  1      CURSOR_FETCH            
** REQUEST conn:  1      CURSOR_PREFETCH         Crsr= 131107  
** DONE    conn:  1      CURSOR_PREFETCH  

iLLer
Еще советую добавить -cw, потому как винда считает себя умней, и без этого
ключа может запросто держать сервачный кэш на диске. Что из этого
получается - можете догадаться. Ну и лучше, конечно, принудительно указать
размер кэша.

Попробуем
iLLer
Держать курсоры открытыми - плохой тон. Клиент должен закрывать курсоры как
можно скорее. Вы уверены, что курсоры не закрываются? Ибо "1 закладка - 1
курсор" еще не говорит о том, что курсор не закрывается!

Согласен. Придётся ещё раз по запросам.

Но всё равно меньше 10 одновременно открытых не получится, т.к. не можем себе позволить тормоза при бегании по закладкам.

И всё же курсоры были упомянуты как возможная причина замедления.
Проблема всё таки в том, что запросы дольше выполняются (у нас в принципе можно сказать всё быстро работает чего не скажеш о клиенте).
Такое ощущение что в какой-то момент в цепи ADO - OLE - ASA при выполнении запроса (открытии курсора) есть тормоз. Может и небольшой, но при расчёте 1 записи когда выполняются пара десятков запросов это даёт о себе знать.
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33204000
Igor111111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот с параметром -cw не получается.
...
Рейтинг: 0 / 0
ASA9 При увеличении подключений производительность сильно падает ...
    #33205105
iLLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Честно говоря, с Вин2003 еще не рисковали работать)) У нас все на 2000
крутится.
Но судя по сообщению, следует поставить SP1.
Лучше попробывать(хотя бы в сторонке), думаю эффект будет.


Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA9 При увеличении подключений производительность сильно падает ...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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