powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Увеличение производительности АСА
23 сообщений из 23, страница 1 из 1
Увеличение производительности АСА
    #32442221
Aleksey Kh.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие есть советы по оптимизации АСА вообще и что посоветуете сделать в конкретном случае (без существенных мат. затрат):

Железо: 2хPIII-733 на каком-то серверворксе, 5ый рейд (3 сказевых винта) с базами, софтовое зеркало (2 ИДЕ винта) с системой, 1 Гб памяти.

Софт: W2K + ASA 802 + сервер домена + что-то небольшое еще. Файл подкачки чуть больше минимума - 1.5Гб (от 1.5Гб до 3Гб). В среднем, свободно 150-200Мб оперативки. АСА стартует с 400Мб (ключ -cl), в среднем занимает памяти физич. 400Мб, виртуальной 420Мб.

Базы: 1 большая консолидированная (около 1Гб) + 2 мелких (по 20Мб), обмен (SQL Remote) с локальными (через файлы) базами и с удаленными (через SMTP). Лог базы лежит рядом с базой, ежедневный бекап (след., при нормальном обмене лог обрезается и не растет особо), размер страницы базы 4Кб.

Оптимизацию запросов не рассматриваем :)
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32442232
Aleksey Kh.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Т.е. не пора-ли добавить еще оперативки?
2. Может, что-то можно настроить пооптимальней?
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32442505
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Маловато памяти для гигабайтной базы :)\r
\r
По поводу дисковой подсистемы. Не так давно отвечал на аналогичный вопрос по MSSQL.\r
Но это только самые общие рекомендации. Все зависит от того, какие операции и как часто у Вас выполняются.\r
\r
ЗЫ. Есть правда одна вещь, от которой лекарство пока еще не придумали (ну кроме физического уничтожения). Называется Кривые руки.\r
Для криво написаной базы железо нужно на порядок мощнее.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32442514
Александр Спелицин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдобавок вот этого: сервер домена + что-то небольшое еще... на сервере БД быть не должно. Ну не его это задачи.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32442658
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey Kh.
Если память нарастить, то можно было бы увеличить размер страницы БД. Плюс можно поиграться с опцией -cw, исключив попадание кэша в свап. Так же можно попробовать калибровать ASA к текущим накопителям оператором ALTER DATABASE CALIBRATE, это позволит оптимизатору строить планы запросов с учетом реальной работы винтов, а не прикидывать по среднестатистическим значениям. Так же при наличие граммотно спроектированных кластерных индексов ASA будет вести упорядоченное чтение данных из таблиц, что опять же повысит скорость. Где кстати ASA хранит свои временные файлы, тоже немаловажный вопрос. Так же не указали, сколько пользователей работает с сервером и какая селективность выбираемых данных.

Дополнительно: на ASA 9.00 на Athlon 1500XP с гигом памяти у меня вполне успешно крутилась БД размером 15гб, сейчас в ASA 9.01 добавили поддержку параллейного чтения на RAID и новые алгоритмы оптимизации запросов, сложные запросы, которые раньше быстрее выполнялись раскидкой через времянки, теперь нормально прокручиваются оптимизатором запросами с подзапросами.

Так же еще эффективность работы оптимизатора запросов будет напрямую зависеть от способа обновления данных в БД. При массовых изменениях информации в ASA устаревает статистика, которая обновляется, накапливается и корректируется при выполнении запросов, соотвествующе например после массовой вставки записей ASA нужно некоторое время, чтобы отшлифовать статистику и выработать оптимальные планы для работы с различной информацией. При массовых изменениях информации было бы неплохо в конце пересоздавать статистику по изменившимся таблицам. В ASA 9.01 кстати добавили еще одну приятную фичу - СУБД теперь умеет запоминать наиболее оптимальные планы запросов при своей остановке и восстанавливать их при запуске, что обеспечивает быстрый старт БД и высокую скорость с самого начала его работы.

Ну про кривизну БД молчу - если она присутствует, то не помогут никакие рекомендации.

авторОптимизацию запросов не рассматриваем :)
А вот это Вы зря. Оптимизацией запросов можно добиться очень существенного увеличения скорости работы, тем более что в ASA профайлер ХП и графический план запросов в ISQL позволяет моментально вычислять критические запросы, при условии конечно, что у Вас логика разложена по ХП и триггерам, а не раскидана в виде запросов по клиентской части и нет множества вложений представлений друг в друга или необоснованного использования ни к месту UDF. На той 15 гиговой БД реально я за неделю с помощью профайлера вычислил и оптимизировал все самые узкие и кривые места, переписав где необходимо соединения и переделав индексную структуру. Запросы, которые работали от 40 минут и обьединяли в себе кучу таблиц с обьемом от 500 000 до 20 000 000 записей, после оптимизации у меня отрабатывали 15-60 секунд, в зависимости от селективности запроса (в среднем запросы возвращали от 20 000 до 300 000 записей). Оно и понятно, на неоптимизированных запросах был table scan, частенько с looper join, да еще целой кучи обьемных таблиц, тут сплошная работа винта, особенно когда памяти под построение хэш-карт не хватает и приходиться их порциями обрабатывать. На оптимизированных же запросах было уже красивое соединение по индексам и внутренним JOIN-ам, с построением хэш-карт по аггрегированным группам, что позволяло ASA моментально проводить выборки.

Ну и напоследок - сервер домена и что то небольшое еще надо однозначно убирать, думаю у Вас не сколько ASA в кэше работает, сколько в свапе - 420 мб в свапе это и есть лишние активные сервисы и приложения, которые теснят бедную ASA в свап.

P.S. Советы из личного опыта, но не обязательно помогут, в БД каждая задача индивидуальна и требует своего творческого подхода и решения в зависимости от очень многих условий. Однако лично мое мнение, что самое главное это изначальная правильная проектировка БД и граммотное программирование логики ее работы, а потом уже ее администрирование и само железо.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32442669
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Так же можно попробовать калибровать ASA к текущим накопителям оператором ALTER DATABASE CALIBRATE,


Этот оператор работает только в последних версиях, видимо (может быть, даже начиная с 9?). То же самое касается и остального - все зависит от версии АСА, хотя общие принципы одинаковы вообще для всех СУБД.

Вы сами, уважаемый ASCRUS, постоянно напоминаете о том, чтобы авторы забывали указывать номер версии. Надо быть последовательным и не забывать себя ;-)
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32442727
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭтот оператор работает только в последних версиях, видимо (может быть, даже начиная с 9?). То же самое касается и остального - все зависит от версии АСА, хотя общие принципы одинаковы вообще для всех СУБД.
ALTER DATABASE CALIBRATE работает с ASA 8.0, у автора стоит 8.02 . Так что про версии я не забываю, а отличия 9 и 9.01 от 8-ки в посте я выделял отдельно, показывая какие преимущества мог бы получить автор, перейдя на 9-ую версию.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32443090
Aleksey Kh.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо :)

1. По поводу намеков на кривые руки, оптимизатор запросов и прочее ;) - да у нас все нормально. Мне просто интересен аспект именно "железно-софтового" тюнинга.
2. Временные файлы валяются в темповой папке виндов, т.е. на софтовом рейде.
3. По поводу перехода на 9ку - "без существенных мат. затрат" © автор.
4. Пользователей - одновременно около 10 + 3 сервиса SQL Remote.
5. "Ну и напоследок - сервер домена и что то небольшое еще надо однозначно убирать" - см. п. 3 :). Скажем спасибо, что хотя бы www на другой машине.

Еще раз хочу уточнить, что меня интересуют:
1. Чисто (-конкретна :D) теоретические аспекты повышения производительности АСА.
2. И советы по настройке в моей ситуации ...но без всякого экстремизма :)
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32443688
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to ASCRUS: я без претензий :) Меня тоже оптимизация волнует

to Aleksey Kh: когда 10 юзеров, можно не волноваться особо - даже криво написанные запросы заметно тормозить не будут. А вот когда кол-во увеличивается - тогда настает ж..а (как у меня например).
К сожалению, все советуют именно оптимизацию запросов, а на АСА 5.5 это довольно проблематично, так как всяких штук много, а для отлова кривых запросов (которые наверняка есть) средств у 5.5 нет. Существует только один выход - переписать все заново, но это займет не недельку, а несколько месяцев (нереально на практике). Так что пока меня тоже больше интересуют "железные" решения, хотя уж и не знаю что можно еще сделать - техника итак нормальная: PIII-1GHz/1Gb/SCSI (не рейд). А база "всего-то" 400 Мб. Но нещадно тормозит, особенно когда человек 5 запустят отчеты каждый из которых по отдельности минут 10-15 считается. В общем, ж...а
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32444896
L0cat0r
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень похоже
Железо : 2-PIII-1400(512), 1Gb RAM, 5 RAID (IDE)
W3K3 + ASA 8.0.2.4339 (в старших билдах появился глюк - пришлось откатываться на 39) + Citrix XP для 3..5 юзеров + Remote (файловый)
база 1.2Gb (4K)
в базе стабильно 25-30 юзеров стартует -сl512m, лог рядом с базой

Отчеты :
по месяцу до 10 сек,
квартал - до 30 сек,
годовые до 1 мин (обрабатывается до 2,5 млн.зап)
если + аналатика/ прогноз с анализом по году до 2.5 мин
(на последних висит начальство => постоянный контроль
кривизны рук)

при больших отчетах сервер поднимает кеш до ~750Mb

Добавил 1Gb RAM (стартанул с 1Gb кеша)
прироста не заметили => снял =>
ASCRUS прав ... сначала руки
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32445924
Aleksey Kh.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У нас почти все тяжелые отчеты - ХП - данные в эксель - сводные таблицы / куб. Данные начинают сливаться через 3-5 секунд после нажатия кнопки "обновить" в экселе.

Кстати, изначально в ХП в запросе стоял запрос с группировкой - да, в таком виде тормозило - сам запрос выполнялся 2-3 минуты. Эксель группирует намного быстрее . Единственное, каждый файл места дофига занимает. Эту проблему решили переходом на олап-куб.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32459481
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению у 5.5 есть один недостаток, он работает только на одном процессоре, поэтому если для более старших версий достаточно применение 2-х процессорных мам, то здесь только один - поднять сам проц до P-4...
Но лучше всего перейти на другую версию. У нас переход с 5.5.0.5 на 7.04
произошел очень легко, в основном из-за того, что доступ к ASA был написан с применением ODBC, поэтому сначало был установлен клиент для 7-ки, это 2-е .DLL, а потом написан батничек, который менял DSN на клиентской машине, начиная с понедельника.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32459526
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, чем обоснован переход ИМЕННО на АСА7? Я бы понял нежелание переходить на АСА9 - сырая еще, пускай еще хотя бы пару патчей сделают. Но почему не АСА8? В 7-й я вижу только одно преимущество - там есть сишная Централь, которая не так долго думает, как написанная на Жабе. Но эвенты она не кажет, а это не есть хорошо. Хотя, эвенты можно сделать и руками, и запустив жабовую централь. Еще один серьезный недостаток (даже не недостаток, а опасение) - что патчи для 7-ки скоро выпускать не будут, положат ее в архив (как уже случилось со всеми версиями, младше 7). Не очень верится, что в них победили все абсолютно глюки
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32459892
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дык тогда и 8-ки еще не было...Хотя честно говоря, я иногда скучаю по виндовому Централу, все-таки Event'ы не так часто пишутся в отличии от функций и процедур, а отладчика в 7-ки не было...
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32459909
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут писАл на днях, что
mustliveСуществует только один выход - переписать все заново, но это займет не недельку, а несколько месяцев (нереально на практике).


Все-таки приходится все практически заново переписывать, надеюсь, что параллельно найду и изживу тормозящие запросы. Сломать уже все успел, теперь пытаюсь обратно построить :)

To Sergey Orlov: по-моему, в АСА7 отладчик был изначально, хотя я могу и ошибаться. А Централь на WinAPI все-таки ГОРАЗДО быстрее работает и не такая требовательная к ресурсам. Они чего-то с ней перемудрили, из вспомогательного средства превратили в монстра.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32459985
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Был отладчик, но такой кривой, точнее непонятный и тормознутый. Можно еще один способ попробовать: выкачать базу( структуру и данные) в SQL-скрипт, затем установить 8-9 версию и закачать в нее эту базу и спокойно ковыряться в ней с запросами, используя инструменты от этих версий. Конечно оптимизаторы у них разные, но где тормозит быстрее найдешь. Да у меня 5-ка скидывала кэш после запуска dbbackup с убитием лога, т.е. до запуска dbserv занимал в памяти 164 метра, после всего 10. Приходилось делать рестарт сервера.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32459987
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нет ли у кого данных сравнение 2-х платформ и соответсвующих версий АСА, я имею ввиду Intel/Windows платформу и Sun/Solarus/Spark, ведь под той и другой существуют одинаковые версии АСА и по примерно одинаковой цене можно подобрать соответсвующее железо
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32468186
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересно, влияет ли на проихводительность сервера БД тип файловой системы? Если брать W2K, то что лучше ставить - FAT32 или NTFS?
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32468192
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторИнтересно, влияет ли на проихводительность сервера БД тип файловой системы? Если брать W2K, то что лучше ставить - FAT32 или NTFS?
Конечно же обязательно нужно ставить NTFS, так как это журналируемая файловая система, гарантирующая высокую надежность работы в отличие от FAT32.
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32468194
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надежность - да, а скорость? Никто случайно не измерял скорость выполнения запросов на NTFS по сравнению с FAT?
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32468234
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если речь идет о NT(2К), то там надо в первую очередь своп убрать на отдельный диск и в качестве файловой системы на нем выбрать FAT16, причем нужен самый быстрый диск и чтобы на нем ничего кроме свопа не было. И еще, тебе что надо, производительность АСА или производительность операционки, плохо спроектированная база, причем даже неправильно выбранные индексы способны убить производительность SQL-сервера на любом железе, равно как и "очень хороший" клиент...
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32468247
mustlive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну если речь идет о NT(2К), то там надо в первую очередь своп убрать на отдельный диск и в качестве файловой системы на нем выбрать FAT16, причем нужен самый быстрый диск и чтобы на нем ничего кроме свопа не было.

Ну вот, начались разброд и шатания... И кому верить? Один говорит - ставь NTFS, другой - вообще FAT16. Вы бы договорились между собой :)



И еще, тебе что надо, производительность АСА или производительность операционки, плохо спроектированная база, причем даже неправильно выбранные индексы способны убить производительность SQL-сервера на любом железе, равно как и "очень хороший" клиент...

ИМХО криво настроенная ось не дает спокойно работать приложениям, в т.ч. и серверу БД. Про проектировние базы все понятно, все еще сижу переписываю, надеюсь, что все будет работать лучше. Сейчас интересует именно возможные проблемы с взаимодействием сервера БД и ОС W2K
...
Рейтинг: 0 / 0
Увеличение производительности АСА
    #32468322
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу вот, начались разброд и шатания... И кому верить? Один говорит - ставь NTFS, другой - вообще FAT16. Вы бы договорились между собой :)
Ну так Вам и посоветовали - ставить БД на NTFS и свап вынести на отдельный FAT диск :) Кстати если на ОС NT (2000, XP, 2003) памяти достаточно, то для ASA 9 я рекомендую включить AWE в Windows и указывать ASA размещение кэшей в AWE - это гарантирует работу кэшей без их попадания в свап, что тоже повысит скорость работы.
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Увеличение производительности АСА
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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