Настройка WebCenter Spaces 11g

Автор Дмитрий Зверков Дата 23.09.2009

Категории Enterprise 2.0,Руководства,Технологии

После установки WebCenter Spaces возникает вопрос, почему система требует так много системных ресурсов даже без нагрузки? Резонный ответ на это – что стандартная инсталляция рассчитана на продакшн использование. Безусловно, в каждом конкретном случае использования, характеристики системы могут быть значительно улучшены путем тонкой настройки в зависимости от условий использования. Сегодня мы остановимся на тюнинге системы в самом базовом и, в то же время, немаловажном варианте – работе при малых нагрузках или вообще без нагрузки – вариант для изучения, разработки и функционального тестирования.

Итак, что же можно предпринять, чтобы умерить аппетиты установленной системы? В исходном варианте, сразу после установки, система требует не менее 3-4 Гб оперативной памяти для работы всех компонентов. Процессорные ресурсы же расходуются весьма скромно, и наибольшая часть процессорного времени тратится на запуск системы и первичную компиляцию кода страниц (напомню, что JSP страницы, да и не только они, компилируются “на лету”, при первом обращении к ним). Таким образом, второе и последующие обращения к странице обрабатываются намного быстрее и пристойно работают практически на любом современном процессоре. Таким образом, основная задача – сократить объем занимаемой оперативной памяти без существенного ущерба для производительности в целом. В идеале – заставить систему полноценно работать на машине с 2 Гб оперативки. Здесь можно дать следующие практические рекомендации, исходя из моего опыта:

  1. Выбирать JRockit JVM при установке и создании домена WLS. Эксперты утверждают, что эта JVM работает, в конечном итоге, быстрее, чем Sun JVM благодаря run-time оптимизации. По субъективным ощущениям это действительно так. Но самое важное, что JRockit лучше управляет памятью, и WLS работает на ней стабильнее. В частности, при использовании Sun JVM в ряде случаев появляется ошибка java.lang.OutOfMemoryError: PermGen space, избавиться от которой можно просто-напросто перейдя на JRockit.
  2. При установке WebCenter создается домен WLS с четырьмя серверами в нем. Это удобно с точки зрения управляемости (можно запускать и останавливать срвисы независимо друг от друга), но влечет существенные (особенно в рассматриваемом случае) накладные расходы, от который можно избавиться. Для этого необходимо перенести все приложения в домене на один сервер, а именно AdminServer. Для этого заходим в консоль WLS (http://hostname:7001/console), при этом нет необходимости запускать что-либо кроме WLS AdminServer (StartWeblogic.cmd или .sh). В меню Deployments видим всевозможные приложения и библиотеки, которые развернул для нас установщик. Наша задача перенести их на сервер AdminServer без потери работоспособности. Для этого поочередно кликаем на приложения и библиотеки, меню Targets, ставим галочку на AdminServer, Save. Так необходимо перенести все приложения. Понять, что приложение перенеслось и работает можно по наличию признака Active в списке Deployments, для приложений еще должен быть признак ОК в колонке Health. При этом не забываем переводить сервер в режим Lock&Edit, а изменения сохранять небольшими порциями. Если приложение перенеслось, но не активировалось, его можно запустить вручную в меню Control, Start, Start servicing all requests. В конечном итоге, все приложения и библиотеки должны быть перенесены на AdminServer, иметь статус Active для всех и OK для приложений. Это автоматически означает, что все успешно перенесено, т.к. все остальные серверы в этот момент должны быть выключены.
  3. Небольшое количество памяти можно сохранить и при уменьшении количества открытых соединений с базой в Connection Pools. Кроме того, все Data Source должны быть перенесены на AdminServer. Для этого заходим в меню Services->JDBC Data Sources и поочередно заходим в настройки каждого из DS. В настройках добавляем в Targets AdminServer, а также меняем Initial Capacity на 1, Max Capacity на 5.
  4. Можно уменьшить размер heap для JVM (по умолчанию стоит 512 и 1024Mb), но есть риск, что Garbage Collector будет запускаться слишком часто или вообще получить OutOfMemory Exception.
  5. Также можно уменьшить размер памяти базы, поставив memory_target ~200Mb

После выполнения этих нехитрых операций, размер занимаемой памяти сокращается весьма значительно. В моем случае, виртуальная машина на линуксе с базой, UCM и всеми сервисами WebCenter работала на 1600Мб памяти.


Социальные сети
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • LinkedIn
  • Live
  • Reddit
  • StumbleUpon
  • Technorati
  • Twitter

Оставить комментарий

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Предыдущий пост:

Следующий пост: