Oracle Datenbank performance-Problem auf den JBoss AS 7

Jungs, ich bin die aktiv an der Migration einer Anwendung auf JBoss 5, JBoss AS 7.

Nach der migration habe ich bemerkt, dass die Datenbank-Aufrufe nahm einen großen Leistungseinbruch.

War ich mit ojdbc14 mit pool(min - max 5 - 100), die auf JBoss 5 und es funktionierte ziemlich gut für uns.

Mit JBoss AS 7, installiert hab ich den Treiber als Modul.

Alle meine Fragen sind nKlicken Einnahme 10-mal länger.
Für die ex, wenn eine Abfrage gedauert hat 30ms, während ich auf den JBoss AS 5 , es wird die Einnahme von 400-600ms auf JBoss AS 7.

Habe ich versucht mit der Treiber gezeigt, in der config unten (ojdbc6, ojdbc14)

Beobachtung ist , dass die Leistung verringern, ist mehr spürbar auf einer linux-Maschine als eine OS-X-box.

FYI. Ich habe versucht mit JBoss AS 7 auf Java 1.6 und 1.7

Meine Anwendung selbst enthält:

  • struts 2 front-end (für die request-Verarbeitung, kein web-ui)
  • Session Beans im backend
  • QuartzPlugin für batch-jobs.
  • eine benutzerdefinierte MBean

Habe ich versucht

  1. senken und erhöhen die Größe des Pools
  2. vorfüll = true und false
  3. Wechsel zwischen ojdbc6 und ojdbc14

standalone.xml

<subsystem xmlns="urn:jboss:domain:datasources:1.0">
        <datasources>
            <datasource jta="true" jndi-name="java:jboss/datasources/MyDS" pool-name="hive-datasource" enabled="true" use-java-context="true" use-ccm="true">
                <connection-url>jdbc:oracle:thin:@host:port:service</connection-url>
                <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                <connection-property name="defaultRowPrefetch">
                    50
                </connection-property>
                <driver>oracle14</driver>
                <pool>
                    <min-pool-size>20</min-pool-size>
                    <max-pool-size>100</max-pool-size>
                    <prefill>true</prefill>
                    <use-strict-min>false</use-strict-min>
                    <flush-strategy>FailingConnectionOnly</flush-strategy>
                </pool>
                <security>
                    <user-name>theusername</user-name>
                    <password>thepassword</password>
                </security>
                <validation>
                    <check-valid-connection-sql>select * from dual</check-valid-connection-sql>
                    <validate-on-match>false</validate-on-match>
                    <background-validation>false</background-validation>
                    <use-fast-fail>false</use-fast-fail>
                    <exception-sorter class-name="org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter"/>
                </validation>
                <timeout>
                    <set-tx-query-timeout>true</set-tx-query-timeout>
                    <blocking-timeout-millis>300000</blocking-timeout-millis>
                    <idle-timeout-minutes>30</idle-timeout-minutes>
                </timeout>
                <statement>
                    <track-statements>false</track-statements>
                    <prepared-statement-cache-size>0</prepared-statement-cache-size>
                </statement>
            </datasource>
            <drivers>
                <driver name="oracle6" module="com.oracle.ojdbc6">
  <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
                </driver>
                <driver name="oracle14" module="com.oracle.ojdbc14">
                    <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>
Könnten Sie bitte versuchen Sie, mit EAP 6.1?
Btw die Abfragen sind native SQL? Keine Überwintern?

InformationsquelleAutor Kalyan Chakravarthi | 2013-06-18

Schreibe einen Kommentar