Почему эти запросы c3p0 часто выполняются в mysql - PullRequest
0 голосов
/ 30 апреля 2020

ниже - это конфигурация c3p0 и hibernate, и я рассмотрю следующие проблемы. Почему эти запросы выполняются постоянно и как их отключить.

Конфигурация Hibernate и c3p0

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">
            com.mysql.cj.jdbc.Driver
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost/?autoReconnect=true
        </property>
        <property name="current_session_context_class">thread</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">dpSJtjixUinCDoV4ia6yCQ==</property>
        <property name="hibernate.dialect">
            com.razorthink.runtime.RztMysqlDialect
        </property>
        <property name="hibernate.connection.provider_class" >com.virima.connectionPool.CustomConnectionProvider</property>
        <property name="hibernate.c3p0.max_size">400</property>
        <property name="hibernate.c3p0.min_size">4</property>
        <property name="hibernate.c3p0.acquire_increment">1</property>
        <property name="hibernate.c3p0.idle_test_period">300</property>
        <property name="hibernate.c3p0.max_statements">0</property>
        <property name="hibernate.c3p0.timeout">300</property>
        <property name="hibernate.c3p0.max_idle_time">2000</property>
        <property name="hibernate.c3p0.max_connection_age">6000</property>
        <property name="show_sql">false</property>
        <property name="hibernate.connection.isolation">2</property>
        <property name="hibernate.connection.CharSet">utf8</property>
        <property name="hibernate.connection.characterEncoding">utf8</property>
    <mapping resource="h915211324.hbm.xml" />

    </session-factory>
</hibernate-configuration>

Запросы, вызывающие попадание процессора, ниже

2020-04-29T15:22:47.740540Z  5200 Query SHOW FULL TABLES FROM `emdb_1521702330190` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.740831Z  5187 Query SHOW FULL TABLES FROM `emdb_1521702330190` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.750197Z  5200 Query SHOW FULL TABLES FROM `emdb_1557220119370` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.750521Z  5187 Query SHOW FULL TABLES FROM `emdb_1557220119370` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.770292Z  5213 Query SHOW FULL TABLES FROM `emdb_1584082233309` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.775548Z  5279 Query SHOW FULL TABLES FROM `emdb_1563780179958` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.776983Z  5201 Query SHOW FULL TABLES FROM `emdb_1563780179958` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.778582Z  5234 Query SHOW FULL TABLES FROM `emdb_1584082233309` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.790130Z  5179 Query UPDATE `ta_cmdb_ci_relationships` SET target_ipaddress = '172.24.110.36',target_tags = '|8|',target_icon = null,target_location = '35 Adams Avenue',target_hostname = 'NOC-TRI-UAT-07',target_blueprint = 'Windows Server',target_ci_id=107611,target_host_ci_record_id='26e58509-a7c9-4fef-b5cf-d659a30b103e' WHERE target_id = 107611
2020-04-29T15:22:47.812510Z  5200 Query SHOW FULL TABLES FROM `emdb_1563774517358` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.812915Z  5187 Query SHOW FULL TABLES FROM `emdb_1563774517358` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.818616Z  5179 Query commit
2020-04-29T15:22:47.839903Z  5213 Query SHOW FULL TABLES FROM `information_schema` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.840200Z  5213 Query SHOW FULL TABLES FROM `management_db` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.844614Z  5213 Query SHOW FULL TABLES FROM `mysql` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.845308Z  5201 Query SHOW FULL TABLES FROM `emdb_1569887214264` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.845527Z  5279 Query SHOW FULL TABLES FROM `emdb_1569887214264` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.846760Z  5234 Query SHOW FULL TABLES FROM `information_schema` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.846970Z  5234 Query SHOW FULL TABLES FROM `management_db` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.847032Z  5213 Query SHOW FULL TABLES FROM `performance_schema` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.850979Z  5234 Query SHOW FULL TABLES FROM `mysql` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.855794Z  5213 Query SHOW FULL TABLES FROM `quartz_scheduler` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.856963Z  5234 Query SHOW FULL TABLES FROM `performance_schema` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.857565Z  5213 Query SHOW FULL TABLES FROM `sys` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.864297Z  5234 Query SHOW FULL TABLES FROM `quartz_scheduler` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.867085Z  5234 Query SHOW FULL TABLES FROM `sys` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.869482Z  5213 Query select * from ar_data
2020-04-29T15:22:47.875941Z  5187 Query SHOW FULL TABLES FROM `emdb_1563780179958` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.876417Z  5200 Query SHOW FULL TABLES FROM `emdb_1563780179958` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.877967Z  5253 Query SHOW DATABASES
2020-04-29T15:22:47.879442Z  5234 Query SHOW DATABASES
2020-04-29T15:22:47.880157Z  5253 Query SHOW FULL TABLES FROM `async_data` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.882533Z  5234 Query SHOW FULL TABLES FROM `async_data` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.901594Z  5279 Query SHOW FULL TABLES FROM `emdb_1584082233309` LIKE 'PROBABLYNOT'
2020-04-29T15:22:47.912542Z  5201 Query SHOW FULL TABLES FROM `emdb_1584082233309` LIKE 'PROBABLYNOT'

1 Ответ

0 голосов
/ 30 апреля 2020

, поскольку c3p0 является пулом соединений, ему необходимо знать, живы ли соединения и готовы ли они для использования приложением. Чтобы получить эту информацию, он выполняет тестовый запрос, чтобы проверить, не было ли соединение закрыто с другой стороны.

Так что теперь лучше вообще удалить такой механизм, иначе вы будете периодически видеть ошибки в журналах, когда Приложение будет пытаться выполнить реальный запрос, и соединение уже будет в устаревшем состоянии.

Но так как этот тест соединения медленный, вы можете изменить запрос на что-то другое. Пожалуйста, проверьте preferredTestQuery атрибут c3p0.

Здесь c3p0 для тестирования соединений, занимающих слишком много времени также рекомендуется обновить версию c3p0, чтобы эта функция работала лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...