payara / glassfish postgresql数据源jdbc连接池

时间:2019-04-23 08:24:32

标签: postgresql glassfish datasource connection-pooling payara

我正在为Java EE,Payara-PostgreSQL应用程序设置JDBC连接池。

现在,我遇到了一些随机发生的意外的缓慢SQL查询。有时,通过PK进行简单选择的SQL响应可能会花费30秒以上。

我正在使用org.postgresql.ds.PGSimpleDataSource数据源,该数据源不执行连接池。这就是为什么我有时怀疑SQL缓慢的原因。

我看到org.postgresql.ds.common.BaseDataSource具有PGConnectionPoolDataSource,PGPoolingDataSource,PGSimpleDataSource和PGXADataSource实现。

我的问题是,选择和调整最佳连接池数据源实现的最佳方法是什么?

也许还有其他通用的JDBC连接池?

我尝试了PGConnectionPoolDataSource,它似乎具有更好的性能。

配置的META-INF / glassfish-resources.xml如下:

<resources>
    <jdbc-connection-pool datasource-classname="org.postgresql.ds.PGSimpleDataSource"
                          name="PostgresPool"
                          res-type="javax.sql.DataSource"
                          max-pool-size="100"
                          steady-pool-size="10"
                          is-connection-validation-required="true"
                          connection-validation-method="table"
                          validation-table-name="locale"
                          validate-atmost-once-period-in-seconds="60">

        <property name="ServerName" value="localhost"></property>
        <property name="PortNumber" value="5432"></property>
        <property name="DatabaseName" value="my_db"></property>
        <property name="User" value="db_user"></property>
        <property name="Password" value="super_secret"></property>
        <property name="TcpKeepAlive" value="true"></property>
        <property name="Ssl" value="false"></property>
        <property name="Sslfactory" value="org.postgresql.ssl.NonValidatingFactory"></property>
    </jdbc-connection-pool>

0 个答案:

没有答案