Melhorando a Performance da Conexão JDBC no JBoss AS 6.1

Postado em Atualizado em

A alguns meses atrás fiquei curioso sobre como melhorar a performance de conexões JDBC que utilizam o data source no JBoss. Pesquisando a documentação acabei encontrando alguns parâmetros (tcpSndBuf, tcpRcvBuf, tcpNoDelay) que ajudam a “tunar” as conexões JDBC.

Uma conexão JDBC por baixo dos panos, nada mais é que um soquete, portanto podemos aplicar os mesmos conceitos de performance aplicados aos sockets do sistema operacional, como por exemplo quando manipulamos o tamanho do buffer TCP para que seja maior que o padrão (32 KB). Podemos dizer as nossas conexões que utilizem valores superiores, veja como isso pode ser utilizado no data source do JBoss:

<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/test</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>123456</password>

    <connection-property name="tcpSndBuf">64000</connection-property>
    <connection-property name="tcpRcvBuf">64000</connection-property>
    <connection-property name="tcpNoDelay">true</connection-property>

<metadata>
     <type-mapping>mySQL</type-mapping>
</metadata>
  </local-tx-datasource>
</datasources>
Uma ressalva é de que algumas propriedades como essas dependem dos providers dos drivers JDBC.
Abraços

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s