Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 11.0.0.1562 - проблемы с производительностью / 12 сообщений из 12, страница 1 из 1
17.02.2009, 21:05
    #35823424
v_smirnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
Доброго времени суток ALL!

Никак не могу побороть проблему производительности сервера, а именно - низкую скорость чтения данных с диска ;(

Есть одна большая плоская таблица содержащая аналитические данные. Построены индексы (минимум необходимого). Эта таблица находится в отдельном dbSpaces на отдельном физическом носителе.

При обращении к ней скорость чтения данных не превышает 1500-2000 Кб/сек.

По монитору SCSI дисков заметил что скорость доступа к ним (винтам) от процесса dbsrv11 очень редко переваливает за отметку 2000 Кб.

При этом загрузка проца минимальна (2-10% одного ядра). Из других приложений скорость чтения-записи около 30-40 Мб/сек (например прямое чтение в никуда, копирование, тот же транслятор логов работает намного продуктивней с файловой системой).

Под кеширование базе отдано 6 гигов (-cw server option).
(база большая - около 40 гигов)

Что не так? Куда копать?
Какие есть хитрости повышения производительности?

P.S. ParalelQuery советовать включить не надо - почему-то база периодически вылетает с Assertion при достаточной нагрузке.

P.S. Фрагментация файлов базы минимальна. Фрагментация таблиц то же (периодически раз в неделю запускается Reorganize и дефрагментация).
...
Рейтинг: 0 / 0
17.02.2009, 21:16
    #35823436
v_smirnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
v_smirnov
По монитору SCSI дисков заметил что скорость доступа к ним (винтам) от процесса dbsrv11 очень редко переваливает за отметку 2000 Кб.


Небольшая поправка. при бэкапе (включая бэкап на лету) скорость доступа возрастает до 13-15 мб/сек - значит умеет быстро писать и читать, но не хочет ;(
...
Рейтинг: 0 / 0
17.02.2009, 22:15
    #35823490
shx
shx
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
calibrate пробовали ?
...
Рейтинг: 0 / 0
18.02.2009, 08:49
    #35823766
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
надо смотреть планы запросов к этой таблице, плюс насколько интенсивно АСА работает с основным пространством и временными файлами. А то запросто может оказаться, что например много времени тратиться на составление хэш таблиц или много пишется промежуточных результатов во времянки или включена версионность (уровень изоляции снапшот), в таблице идут обновления и АСА при выполнении запроса не спеша читает с отдельного устройства, потому что много пишет при переносе оригинальных страниц, которые изменяются во временные файлы.
...
Рейтинг: 0 / 0
18.02.2009, 13:02
    #35824475
v_smirnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
Уровень изоляции либо ReadUnCommited либо ReadCommited (большего и не надо, т.к. используется AppServer).

авторнасколько интенсивно АСА работает с основным пространством и временными файлами

Вот тут немного подробнее если можно. В стандартных средстваx монитора я что-то этого не нашел.

автормного времени тратиться на составление хэш таблиц или много пишется промежуточных результатов во времянки

Это можно как-то мониторить?

Без сложных запросов не обойтись ... вложил один из примеров плана.
выдает 1 запись, время 1,8 - 2,0 сек. (в основной таблице (по которой условие where по PK) 1,5 млн записей, в остальных до 100 тыс.)

95% запросов оптимизировано до такого состояния - все данные отбираются по PrimaryKey или FK

P.S. Сорь что немного сумбурно, я пока не понимаю куда надо копать для оптимизации ...
...
Рейтинг: 0 / 0
18.02.2009, 13:08
    #35824494
v_smirnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
"вложил один из примеров плана" - повторная отправка ... в первый раз сорвалось

Если и сейчас не будет файла - то можно взять отсюда:
http://vsmirnov.sang.ru/Sql/
...
Рейтинг: 0 / 0
18.02.2009, 14:09
    #35824718
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
Скачал план, посмотрел ... раскурил :) В плане 12 SubQuery, 5 LEFT OUTER JOIN с использованием Sort. На фоне большого кол-ва соединяемых таблиц с большим кол-вом записей, оптимизатор даже не пытается строить хеш-таблицы, зная, что памяти все равно не хватит и везде гоняет поиск записей в соединяемых таблицах перебором NESTED LOOPS, которые до тучи еще присутствуют в многих SubQuery. Получается оно по определению будет медленно работать с таким планом запроса и дисковые накопители не помогут ;) Надо переписывать запрос, для начала попробовать избавиться от большинства SubQuery, где я вижу они дублируют друг друга по обращениям к одним и тем же табличкам. Далее если все равно будет медленно (а оно скорее всего так и будет), то выносить промежуточные результаты запроса в временные таблички NOT TRANSACTIONAL.
...
Рейтинг: 0 / 0
18.02.2009, 14:10
    #35824729
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
v_smirnov(большего и не надо, т.к. используется AppServer).
Глядя на текст запроса у меня возникает чувство, что этот самый AppServer и сгенерил сей запрос, от чего он получился такой нечитабельный и не самый удачный с точки зрения оптимизатора СУБД. Я прав ? ;)
...
Рейтинг: 0 / 0
18.02.2009, 16:12
    #35825153
v_smirnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
авторчто этот самый AppServer и сгенерил сей запрос

Сер абсолютно прав! ;)
nHibernate ничего не знает про особенности синтаксиса языка ASA 11.

Тем не менее если его переписать на key join и left outer join план запроса не меняется ;((
Тут надо отдать должное оптимизатору - он сам понял что хочет AppServer

Все свойства объекта связаны либо по PK либо по FK. Это дало выигрыш в производительности по сравнению с первоначальным вариантом но все равно этого мало.
...
Рейтинг: 0 / 0
18.02.2009, 18:27
    #35825565
Ggg_old
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
Скажите, а если вы двадите ккй-нибудь просто запрос к табличке , например выбор множества значений по ключу. То какую скорость выдаст монитор загрузки дисков?
Чего справшиваю, не так давно была проблема очень низкой скорости работы асашки с дисками, подсоединенными к сата раид контроллеру 3ware. Скорость как раз и было пару мег в сек. Тупая замена контроллера на контроллер подобного класса, но другого производителя все исправила.
Т.е. вероятность просто низкой скорости работы подсистемы ввода вывода в независимости от запроса и плана его выполнения присутствует.
...
Рейтинг: 0 / 0
19.02.2009, 11:41
    #35826709
v_smirnov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
to ASCRUS
авторСкачал план, посмотрел ... раскурил :)

видать по запаре пропустил этот вое сообщение, сейчас на свежую голову попробую что-нить придумать с этим запросом.

авторНа фоне большого кол-ва соединяемых таблиц с большим кол-вом записей
хм ... т.е. в данном случае оптимизатор не оценивает условие where и то что кол-в записей будет 1 штука? Вроде он в плане запроса везде пишет что ожидаемое количество строк=1.

Убрал первую часть из запроса (просто select * сделал), убрал inner join - зрительно план не поменялся. Те же "LEFT OUTER JOIN с использованием Sort" и "NESTED LOOPS" - так и должно?

to Ggg_old
автора если вы двадите ккй-нибудь просто запрос к табличке

Спасибо за идею. Исходные данные для теста - таблица около 12 млн записей.
Код: plaintext
select * into #tmp_dw from t_dw where dOut between '2009-01-01' and now(*)
план запроса - "Scan t_dw using index idx_t_dw_dOut"
985890 Row(s) affected
Execution time 25 sec
максимальная скорость доступа к диску ... 2 мб/сек

жаль тут смайлов нет ... эмоциональных. Ушел читать и экспериментировать ...
...
Рейтинг: 0 / 0
24.02.2009, 13:39
    #35834084
iLLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ASA 11.0.0.1562 - проблемы с производительностью
Попробуй в последнем тесте убрать условие по дате и поставить другое, участвующее в каком-нибудь индексе. Помониторь разные комбинации. Что в 9-ке, что в 10-ке работа с датами в условиях отбора крайне не проста и не очевидна. Лучше исключить их возможное влияние при исследовании проблемы.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASA 11.0.0.1562 - проблемы с производительностью / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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