Следващият документ представя услугите, които са били намалени и подобренията за настройка, направени в JBoss 4.0.5 на сайта на клиента. Това са разделите:

jboss

Услуги, които бяха намалени от JBoss

Подобрения в настройката в JBoss

Услуги, които (теоретично) могат да бъдат премахнати, но се използват от приложението

Услуги, които могат да бъдат премахнати и премахнати преди да стигна до сайта на клиента.

Подобрения в производителността

на. бяха постигнати следните резултати getafix Linux машина:

за постоянна пропускателна способност (TP), средното време за реакция (AVG) е намален с 15% (от 134 на 116).

за максимален TP, AVG е намален с 33% (от 167 до 125) и TP се увеличи с 32% (от 41,6 на 55,2) .

В отслабената версия с течение на времето (след 20000 проби) TP започва да се увеличава и AVG започва да намалява. От друга страна, версията без отслабване не показва промяна нито в TP, нито в AVG, дори след 50000 проби.

И така - за да видите подобренията, направени от отслабената версия, тестовете трябва да включват поне 50000 проби.

Бележки преди започване

В приложението има 3 сървърни платформи: Windows, Solaris и Linux. Този документ е важен за всички тях. Според документацията на JBoss няма разлика между тези платформи по отношение на проблемите с отслабването и настройката.

Във всеки раздел, заедно с името на услугата, има обяснение как да го премахнете.

Всички пътища, споменати в този документ, се предполага, че започват с сървър/xxx /.

Улеснени услуги

Пощенска услуга (J2EE стандартен клиент на JavaMail)

lib/mail * (mail-plugin.jar, mail.jar)

lib/activation.jar (Java Activation Framework се използва от JavaMail)

MailService атрибут под LocalJBossServerDomain MBean (в conf/jboss-service.xml)

Услуга за инвалидиране на кеша

J2EE Client Deployer Service

JBoss SNMP агент

Постоянство на MBean атрибутите

AttributePersistenceService MBean (в conf/jboss-service.xml)

CorbaORB атрибут под LocalJBossServerDomain MBean (в conf/jboss-service.xml)

Web-конзола или разширения JSR-77

Сигнали за конзола/имейл монитор

EJB 2.1 Услуга за таймер

EJB 2.1 TimerService се използва за създаване на EJB Timer Beans. Това асинхронно ще стартира боб в определени часове.

MBeans под блока „J2EE Timer Service“ в разполагането/ejb-deployer.xml

нбележка: на linux машина (getafix) тази услуга не може да бъде премахната (защото се използва там), но може да бъде премахната на windows и solaris (терминатор машина)

JBoss Scheduler Manager

Позволява планиране на извиквания срещу MBeans.

lib/scheduler-plugin * (scheduler-plugin.jar, scheduler-plugin-example.jar)

Горещо внедряване

Горещо разполагане на файлове в директорията за разполагане без рестартиране на JBoss.

в URLDeploymentScanner mbean (под conf/jboss-service.xml), променете ScanEnabled атрибут от „true“ на „false“

BeanShell Deployer

lib/bsh * (bsh-deployer.jar, bsh-1.3.0.jar)

Генериране на ключове на JBoss UUID

Често се използва с CMP първични ключове.

deploy/uuid-key-generator.sar (не е намерен в инсталацията)

Внедряване на JMS опашки

ако е премахнат на windows, тогава в процеса на влизане се хвърля изключение. От друга страна, ако е премахнат на linux (getafix), тогава процесът на влизане не изхвърля изключения.

DestinationManager атрибут под LocalJBossServerDomain MBean (в conf/jboss-service.xml)

Забележка: на Windows машина (yorammi), когато тази услуга беше премахната, по време на процеса на влизане се появи изключение. На linux машина (getafix) премахването на тази услуга премина нормално, без изключения.

Зареждане на клас RMI

зареждане на кодови бази от клиента с помощта на класове на сървъра)

премахнете SystemPropertyClassValue и WebService Mbeans от conf/jboss- service.xml.

Премахнете следния ред:

показва дървото за именуване на JNDI от конзолата JMX

премахнете JNDIView Mbean от conf/jboss-service.xml.

Конектор Apache-Tomcat

Той трябва да бъде премахнат, ако потребителите директно се свързват с Tomcat чрез HTTP и не преминават през Apache/mod_jk.

Някои от клиентите използват Apache, а други не, така че този конектор трябва да бъде премахнат само при клиенти, които нямат Apache.

отворете deploy/jbossweb-tomcat55.sar/server.xml и премахнете конектора AJP 1.3 на порт 8009

Подобрения в настройката

Използвайте Pooled Invoker вместо JRMP

По подразбиране JBoss създава нова нишка за всяка RMI заявка, която постъпва.

Превключете към обединен извиквател вместо jrmp:

В conf/standardjboss.xml заменете всички

Изключете проверката за затваряне на връзката

В производството не се нуждаете от тази проверка (ако приемем, че всички течове на връзката са открити по време на разработката).

В deploy/jbossjca-service.xml променете Отстраняване на грешки запис на false в услугата CachedConnectionManager

Допълнителни настройки, които могат да бъдат направени

1) Предварително компилиране на JSP - JSP страниците в потребителския интерфейс могат да бъдат предварително компилирани .

2) Конектор Apache-Tomcat: когато Apache е инсталиран преди Tomcat, той може да се използва за обслужване на статично съдържание. Според Tomcat Wiki: В исторически план Apache винаги е бил много по-бърз от Tomcat при обслужване на статично съдържание. Идеята е да оставите Apache да обслужва статичното съдържание, когато е възможно, след това да прокси заявката обратно към Tomcat за съдържание, свързано с Tomcat.

Използвани услуги (така че не могат да бъдат премахнати)

Интегрирани услуги за разполагане на HAR и Hibernate за управление на сесии

deploy/hibernate-deployer-service.xml (поддръжка на HAR)

lib/jboss-hibernate.jar (поддръжка на HAR)

lib/hibernate3.jar (самият хибернация)

lib/cglib.jar (използва се от Hibernate за създаване на прокси на POJO)

JBossSX е рамката за защита на JBoss, която се използва от модула за вход в DB.

SecurityConfig MBean от conf/jboss-service.xml

Тунели RMI през HTTP

Предаване на изключения за конкретни доставчици на SQL

Зареждане на свойства с помощта на JMX

JMX може да зарежда свойства в системните свойства чрез услугата за свойства.

Управление на транзакции от страна на клиента

Ако е премахнат, тогава класът SpringFactoryGC не може да бъде зареден:

java.lang. вложеното изключение е org.springframework.transaction.TransactionSystemException: JTA UserTransaction не е налице в JNDI местоположение [UserTransaction]; вложеното изключение е javax.naming.NameNotFoundException: UserTransaction not bound

ClientUserTransactionService MBean от conf/jboss-service.xml

Правете JMX повиквания през RMI

Скриптът shutdown.sh използва това, така че не може да бъде премахнат

Услуги, които могат да бъдат премахнати, но не съществуват в разгръщането на JBoss 4.0.5 на приложението

Разпределени (клъстерирани) уеб сесии

Фермерска услуга (реплицирани разполагания)

XA източници на данни (разпределени и/или възстановими транзакции)

Ако не използвате нито управление на транзакции от страна на клиента, нито кеширани връзки