КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Зависимость от производительности виртуальной машины Java
Регулировка производительности любого Java-приложения в значительной степени зависит от JVM. Следовательно, если задача состоит в том, чтобы разработать и разместить высокопроизводительное серверное приложение EJB, не обойтись без планирования ряда операций, связанных с конфигурированием JVM и регулировкой производительности. Одной из важнейших настроек является емкость кучи JVM. Кучей (heap) называется репозитарий объектов Java и свободной памяти. Когда в куче JVM заканчивается свободная память, исполнение в ней приостанавливается вплоть до того момента, когда алгоритм сбора мусора освободит невостребованные участки памяти. Блокирование прикладного кода в ходе сбора мусора — это очевидный удар по производительности. Все операции, проводящиеся в приложении EJB на стороне сервера, в эти периоды останавливаются. Если емкость кучи высока, сбор мусора проводится довольно редко; впрочем, когда он все же случается, то занимает значительное время, в течение которого могут быть нарушены нормальные системные операции. Операция сбора мусора способна снизить скорость (а в отдельных случаях — полностью остановить) обработки данных на сервере, который в таком случае будет восприниматься как медленный и нереактивный. Для оптимальной настройки емкости кучи JVM необходимо проследить за проводимыми на серверной машине операциями разбиения на страницы. Разбиение на страницы существенно снижает производительность, а для того чтобы избежать проведении подобных операций на серверах приложений, следует увеличить емкость кучи JVM согласно потребностям конкретного приложения. Другое решение предполагает контроль над сборщиком мусора при помощи настройки компилятора -gcverbose. Если возможен добавочный сбор мусора, его, как правило, лучше включать. 16.5. Заключение К созданию многозвенной архитектуры J2EE компанию Sun Microsystems подтолкнули ее собственные коммерческие потребности. Они, в свою очередь, формировались под влиянием опыта применения модели CORBA и конкурентного давления со стороны других специальных моделей распределенного программирования — в частности, COM+ от Microsoft. В состав J2EE входит серверный компонентный каркас для конструирования серверных Java-приложений корпоративного уровня, и называется он системой корпоративных JavaBeans (Enterprise JavaBeans). Спецификация J2EE/EJB постоянно расширяется. В настоящее время в ней предусмотрены готовые к употреблению службы транзакций, безопасности, устойчивости и управления ресурсами. Все эти службы позволяют прикладным программистам, имеющим дело c J2EE/EJB, не заботясь о низкоуровневых деталях распределения, обращать более серьезное внимание на разработку бизнес-логики. Переносимость в J2EE/EJB реализуется за счет применения общеупотребительного, переносимого языка (Java) и точных контрактов между компонентами. Производительность и масштабируемость производительности достигаются за счет распределения приложений между многочисленными процессорами (горизонтальное масштабирование), сеансовых beans без запоминания состояния, организации пула ресурсов и ряда других механизмов. Несмотря на кажущуюся простоту модели программирования J2ЕЕ/ЕJB, многие архитектурные решения прикладного уровня нужно тщательно продумывать. Для получения проектного решения, оптимального в контексте требований по атрибутам качества, необходимы анализ и сравнение различных компромиссных архитектурных решений. 16.6. Дополнительная литература Сведения об архитектуре и спецификации J2ЕЕ/ЕJB крайне многочисленны. Стоит зайти на раздел сайта Sun Microsystems, посвященный этой технологии (http:// java.sun.com/j2ee), — на нем предлагается удобное пособие для новичков, заинтересовавшихся J2EE, ряд официальных документов и собственно спецификация J2EE/EJB. Существует множество оживленных форумов, посвященных архитектуре и технологическому пространству J2EE, — в частности, форум, организованный компанией Middleware (http://www.theserverside.com). 16.7. Д искуссионные вопросы 1. В качестве дополнения к компонентной модели EJB версии 2.0 определены «управляемые сообщениями beans». Под этим именем кроются корпоративные beans, позволяющие приложениям J2EE проводить асинхронную обработку сообщений. Назовите несколько вариантов применения такого компонента. Какие возможности в контексте корпоративной архитектуры открывают управляемые сообщениями beans? 2. Многие методики в рамках спецификации J2EE/EJB, по существу, лишь реализуют тактику «введение посредника». Попробуйте найти как можно больше подобных случаев. 3. Обратимся к конкретному примеру компании CelsiusTech, изложенному в главе 15. Как вы считаете, подходит ли инфраструктура J2EE/EJB для реализации систем, выпускаемых этой компанией? Аргументируйте ваш ответ. Глава 17
Дата добавления: 2015-04-25; Просмотров: 358; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |