15 октября, понедельник 20:15
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

Производительность Диасофта

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • Производительность Диасофта

    Добрый день!
    Актуальна проблема производительности сервера, особенно в дни начислений.
    Расскажите кто как решает проблемы производительности. Какие у вас аппаратные и профилактические решения?

  • #2
    начните с того какая у вас система, субд, кол-во кредитов/депозитов

    Комментарий


    • #3
      5NT, 6.1, MSSQL. Около 10000 кредитов\депозитов

      Комментарий


      • #4
        По Вашему вопросу можно написать минимум кандидатскую диссертацию.

        Аппаратные решения - высокопроизводительный сервер.
        Профилактические - оптимизация настроек сервера, оптимизация кода, перенос тяжелой отчетности на репликационный сервер, очистка таблиц, перестроение (и построение иногда) индексов.

        Помогло?

        Комментарий


        • #5
          Профайлер вам поможет
          Ищите тяжелые участки кода, оптимизируйте
          С уважением, Максаев Андрей.

          Комментарий


          • #6
            Сообщение от IgorL Посмотреть сообщение
            По Вашему вопросу можно написать минимум кандидатскую диссертацию.

            Аппаратные решения - высокопроизводительный сервер.
            Профилактические - оптимизация настроек сервера, оптимизация кода, перенос тяжелой отчетности на репликационный сервер, очистка таблиц, перестроение (и построение иногда) индексов.

            Помогло?
            У меня на сервере:
            процессор - 4xXeon 3.2GHz
            ОЗУ - 3,5 GB
            дисковая подсистема - 200 GB RAID5 Smart Array 6400
            Разве не производительный?
            Что вы подразумеваете под оптимизацией настройки сервера? Какие тут настройки можно подёргать?

            Комментарий


            • #7
              Сообщение от Dieter Leibnitz Посмотреть сообщение
              У меня на сервере:
              процессор - 4xXeon 3.2GHz
              ОЗУ - 3,5 GB
              дисковая подсистема - 200 GB RAID5 Smart Array 6400
              Разве не производительный?
              Что вы подразумеваете под оптимизацией настройки сервера? Какие тут настройки можно подёргать?
              Почитайте для начала, например Архитектура SQL Server.

              Комментарий


              • #8
                Dieter Leibnitz Какие у вас аппаратные и профилактические решения?
                SUN6900 (8 проц SparcIV-1,2Г 64Г память, Хардовая полка EMC^2FC ) - тормозит

                PS: база чуть больше 400Г
                Подавая сигналы в рог будь всегда справедлив, но строг. ©

                Комментарий


                • #9
                  Сообщение от Dieter Leibnitz Посмотреть сообщение
                  Добрый день!
                  Актуальна проблема производительности сервера, особенно в дни начислений.
                  Расскажите кто как решает проблемы производительности. Какие у вас аппаратные и профилактические решения?
                  Про регламент не забыли?
                  чистка p-таблиц, update statistics, пересоздание индексов?

                  ну и плюс, конечно, вышеупомянутый код...Диас грешит маразматическими решениями в области написания оного.

                  Комментарий


                  • #10
                    Лет 5 назад включили в ночное обслуживание
                    чистку p-таблиц, update statistics.
                    Пересоздание индексов делали в обед очень редко,
                    в принципе помогло. Были иногда 'кривые билды'
                    - много блокировок.

                    Комментарий


                    • #11
                      Чистка p-таблиц и перестроение индексов дают серьёзный эффект.
                      update statistics не делаю. Надо ли если индексы перестраиваю? Если надо то можете выслать скриптик, которым в Диасе делаете update statistics?
                      Какая конфигурация сервера(железо) на ваш взгляд оптимальна для среднего банка?

                      Комментарий


                      • #12
                        Ребята, все-таки мозги подключать необходимо. Неоптимальных запросов в каждом скрипте штук по пять. Типа не попадание в индексы по справочникам вообще проблемой считается. Если чистка p-таблиц дает серьезный эффект - значит запрос по этой таблице не использует индекс по SPID.
                        Да, овес ныньче дешев. Наиболее радикальный метод - увеличение кэша данных. Набивайте сервера памятью - и вперед. Это даст вам время разгрести глюки (если Диасофт не порадует новой версией с новыми глюками).
                        PS. История из жизни. Некий западный банк искал специалиста по 5nt. На интервью 90% кандитатов на вопрос "Что ты будешь делать, если какой-то отчет вдруг начал медленно работать" отвечали "Буду звонить в Диасофт". Народ в банке офигевал - "Мы же написали - нужны специалисты с ТЕХНИЧЕСКИМ образованием." Но на десятом кандитате они сломались и ... стали искать просто программиста.

                        Комментарий


                        • #13
                          Сообщение от loo Посмотреть сообщение
                          PS. История из жизни. Некий западный банк искал специалиста по 5nt. На интервью 90% кандитатов на вопрос "Что ты будешь делать, если какой-то отчет вдруг начал медленно работать" отвечали "Буду звонить в Диасофт". Народ в банке офигевал - "Мы же написали - нужны специалисты с ТЕХНИЧЕСКИМ образованием." Но на десятом кандитате они сломались и ... стали искать просто программиста.
                          Неужели правда? Я один только раз помню решил попробовать работать с Диасом по отчетам в режиме аутсорсинга...вернее меня в этом пыталось убедить начальство. Потом все равно переписывал за ними всё заново, ток зря деньги и время было потрачено. А вообще отчетника хорошего на рынке найти тяжело

                          Насчет индексов...вот плиз пример...правил тут один из отчетов по ФКЦБ, модуль Treasury...так там один из select-ов по времени занимал 40-50% от времени работы всего отчета!

                          Комментарий


                          • #14
                            CostYa вот плиз пример
                            Это не показатель. Вот если он после использования индексов занимает только 5% времени - другое дело

                            Комментарий


                            • #15
                              На прошлой неделе запустил в Управлении резервами добавление РБР(оно 7 часов отрабатывает) и включил трассировку в EM. Нашёл место, где система зацикливалась. Отослал в Диас свою находку. В этот же день они исправили. Теперь Добавление/Обновление РБР отрабатывает у меня 3 часа. Рекомендую обновить процедуры в Управлении резервами

                              Комментарий


                              • #16
                                >Разве не производительный?

                                И при этом выключен кэш на запись (шутка). Снять профилировку и сразу все станет ясно - где узкое место.

                                >Наиболее радикальный метод - увеличение кэша данных

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

                                Комментарий


                                • #17
                                  16 двухядерных Power5 (1.9Ггц)
                                  ОПамять больше ста гигов
                                  Дисковая система - 4 Тб в зеркале
                                  Тормозов никаких даже при 100% загрузке всех процов.
                                  Организац.меры - грамотная организация очереди на выполнение пакетных задач и приоритизация времени выполнения.
                                  Главное - наличие нескольких хорошооплачиваемых специалистов, которые сами сконфигурируют, настроят такую систему и будут за ней следить.
                                  Правда ... не диасофт.. все на DB2, но принцип должен быть понятен и применим для других платформ.
                                  Последний раз редактировалось Sever; 14.03.2007, 02:10.

                                  Комментарий


                                  • #18
                                    bantik
                                    Стоило бы чуть менее категоричным в оценках. Под блокировками Вы, полагаю, понимаете ситуацию, когда один процесс блокирует данные, а другие его ждут. Если запросы отрабатывают быстрее (а при чтении данных из кэша они работают на несколько порядков быстрее по сраднению с чтением с диска) вероятность подобных коллизий резко снижается. А даже если они происходят, то время ожидания опять же сокращается на порядки.

                                    Комментарий


                                    • #19
                                      Стоило бы чуть менее категоричным в оценках. Под блокировками Вы, полагаю, понимаете ситуацию, когда один процесс блокирует данные, а другие его ждут. Если запросы отрабатывают быстрее (а при чтении данных из кэша они работают на несколько порядков быстрее по сраднению с чтением с диска) вероятность подобных коллизий резко снижается. А даже если они происходят, то время ожидания опять же сокращается на порядки.

                                      А если select блокирует таблицу(-ы) и сканирует эти таблицы в течение долгого времени?...
                                      Такое в Диасофте повсеместно...

                                      Комментарий


                                      • #20
                                        Сообщение от Sever Посмотреть сообщение
                                        16 двухядерных Power5 (1.9Ггц)
                                        ОПамять больше ста гигов
                                        Дисковая система - 4 Тб в зеркале
                                        Тормозов никаких даже при 100% загрузке всех процов.
                                        Организац.меры - грамотная организация очереди на выполнение пакетных задач и приоритизация времени выполнения.
                                        Главное - наличие нескольких хорошооплачиваемых специалистов, которые сами сконфигурируют, настроят такую систему и будут за ней следить.
                                        Правда ... не диасофт.. все на DB2, но принцип должен быть понятен и применим для других платформ.
                                        OFF Напомнило старый анекдот: Мужик на москвиченке в дождик слетел с дороги и подняться не может (скользко и круто). Взял веревку и стоит, голосует. Останавливается неслабый джип, съезжает вниз, включает мосты/блокировку/пониженную и легко выезжает на асфальт. Водитель джипа спрашивает у мужика - "Принцип понятен ?!?"

                                        Комментарий


                                        • #21
                                          Сообщение от Dieter Leibnitz Посмотреть сообщение
                                          А если select блокирует таблицу(-ы) и сканирует эти таблицы в течение долгого времени?...
                                          Такое в Диасофте повсеместно...
                                          Select при правильно выбранном уровне изоляции не блокирует таблицу. Другие вполне могут её читать и писать. Другой вопрос Диасы часто используют селект в транзакции вставки. Это конечно тормознет всех.

                                          Советы по добавлению оперативки для MS SQL малоприменимы на Win32 - не могут Win32 работать более чем 2Gb (применение ключа /3GB в boot.ini зачастую только ушудшает ситуацию ).

                                          Комментарий


                                          • #22
                                            Dieter Leibnitz
                                            А если select блокирует таблицу(-ы) и сканирует эти таблицы в течение долгого времени?...
                                            Такое в Диасофте повсеместно...
                                            Выделение мое. Если таблица в кэше, сканиовать ее в течение долгого времени система не будет. Да проведите же простой эксперимент. Возьмите тестовый сервер, перезапустите его, чтоб очистить кэш, сделайте select, который просканирует таблицу, но ничего не выдаст. Таблица должна быть достаточно большой, но уместиться в кеш. А потом запустите тот же select еще раз и сравните время. Для точности включите statistics time и statistics io (для Sybase, как для MS - не скажу).
                                            Гигабайт памяти сейчас стоит в районе $200 и сделать такой кэш, чтоб тута улезла вся база очень даже реально.

                                            В Вашем примере, вероятнее всего сканирует он вовсе не ту таблицу которую лочит (р...?). Кстати, процессом можно пробовать поуправлять - в Sybase за это отвечает lock promotion.

                                            Но еще раз, я не считаю увеличение кэша панацеей. База вырастет и сервер просядет в самый неподходящий момент. Правильным подходом я считаю вылавдивание багов и оптимизацию структуры базы. Сам Диасофт этого сделать не в состоянии - им нужно четко указывать конкретный запрос, который работает неправильно. Иначе все силы уйдут на борьбу с "Горячей линией", у которой проблема не повторяется, на их требования передать им базу для проверки и т.д. И за время, пока все это будет происходить они успевают сделать 5 новых ошибок.
                                            Последний раз редактировалось loo; 02.04.2007, 21:43.

                                            Комментарий


                                            • #23
                                              Сообщение от IgorL Посмотреть сообщение
                                              Советы по добавлению оперативки для MS SQL малоприменимы на Win32 - не могут Win32 работать более чем 2Gb (применение ключа /3GB в boot.ini зачастую только ушудшает ситуацию ).
                                              Прям так и не могут?

                                              Комментарий


                                              • #24
                                                Сообщение от Noman Посмотреть сообщение
                                                Прям так и не могут?
                                                RTFM.
                                                Имелось ввиду приложение Win32 и без извращений с PAE.
                                                Последний раз редактировалось IgorL; 03.04.2007, 10:07. Причина: Уточнение

                                                Комментарий


                                                • #25
                                                  IgorL RTFM.
                                                  Имелось ввиду приложение Win32 и без извращений с PAE.
                                                  ну так MS SQL-то может юзать оперативку больше чем 2 ГБ. С извращением или без - нам-то какое дело?
                                                  Семь раз отпей - один отъешь.

                                                  Комментарий


                                                  • #26
                                                    Сообщение от IgorL Посмотреть сообщение
                                                    RTFM.
                                                    Имелось ввиду приложение Win32 и без извращений с PAE.
                                                    Во-первых, PAE не используется, а используется AWE. Во-вторых, никаких извращений в этом нет. И MS SQL вполне себе поддерживает, как простое Win32 приложение, больше 2Gb.

                                                    Комментарий


                                                    • #27
                                                      Noman, "Without PAE, AWE is unable to reserve memory in excess of 4 GB." То есть все же именно PAE позволит обратиться через AWE (окна размером в 4 гиг) к памяти бОльшего размера.
                                                      2^32=4294967296 байт памяти при линейной адресации в 32 разрядной системе.
                                                      Кто программировал под 16 разрядный DOS на ассемблере помнит, что страничная организация резко замедляла доступ к областям более 64К, несмотря на аппаратную поддержку смещения процессором.
                                                      То есть применяя окна и страницы работа с памятью потребует дополнительных временных затрат, особенно на границах окон (страниц). Pychick, в этом и проблема.
                                                      Есть хорошая статья на эту тему.

                                                      Комментарий


                                                      • #28
                                                        IgorL да, статейка неплохая. НО! В любом раскладе работа с памятью быстрее работы с диском. Это раз. И два: в этой же самой статье написано:

                                                        Allocating physical memory using AWE mechanism is slow on Windows 2000. (This is a reason why SQL Server 2000 doesn’t manage memory dynamically when AWE is enabled). The problem is fixed in Windows 2003 server so that Yukon does allocates physical memory dynamically.

                                                        ...а никто и не заставляет ставить MSSQL на W2K сервер.
                                                        Семь раз отпей - один отъешь.

                                                        Комментарий


                                                        • #29
                                                          IgorL, Т.е. все-таки может Win32 работать более чем с 2Gb? И добавление оперативки для MS SQL не так уж "малоприменимы"?

                                                          Комментарий


                                                          • #30
                                                            Сообщение от Pychick Посмотреть сообщение
                                                            IgorL да, статейка неплохая. НО! В любом раскладе работа с памятью быстрее работы с диском. Это раз. И два: в этой же самой статье написано:

                                                            Allocating physical memory using AWE mechanism is slow on Windows 2000. (This is a reason why SQL Server 2000 doesn’t manage memory dynamically when AWE is enabled). The problem is fixed in Windows 2003 server so that Yukon does allocates physical memory dynamically.

                                                            ...а никто и не заставляет ставить MSSQL на W2K сервер.
                                                            В любом случае включение AWE замедлит работу с памятью. Да обращение к кешу (даже через PAE/AWE) будет быстрее работы с диском. Трабл в том, что ВСЕ приложения (включая ядро) начнут работать медленнее. Математику не обманешь - хочешь адресовать к большей памяти чем позволяет размерность указателя, жди переключения окон/страниц
                                                            Noman, Работать может. Наверное. Так же как и гипертрединг вроде бы еще процессоров добавляет Но реально, результат за счет общего снижения производительности системы (и снижения её стабильности) может быть отрицательным. Это не только мое мнение

                                                            Комментарий

                                                            Пользователи, просматривающие эту тему

                                                            Свернуть

                                                            Присутствует 1. Участников: 0, гостей: 1.

                                                            Обработка...
                                                            X