三者对全表扫描的查询操作,在单线程下与多线程下的效率比较.总数据量约在4万 maven的pom.xml com.alibaba fastjson 1.2.39 c3p0 c3p0 0.9.1.2 com.alibaba druid 1.1.4 org.apache.tomcat tomcat-jdbc 7.0.82 mysql mysql
maven的pom.xmlcom.alibaba fastjson1.2.39 c3p0 c3p00.9.1.2 com.alibaba druid1.1.4 org.apache.tomcat tomcat-jdbc7.0.82 mysql mysql-connector-java5.1.33 ************************单线程操作************************ 一: package com.data; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class TestDao { private final static String queryList = "select * from User_appuser_login"; /** * JDBC统一的查询方法 * @param conn */ public void query(Connection conn){ try { Statement statement = conn.createStatement(); ResultSet executeQuery = statement.executeQuery(queryList); executeQuery.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } 二: package com.data; import java.beans.PropertyVetoException; import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource; /** * C3p0连接池测试类 * @author demo Yan */ public class TestC3p0 { final static String driver = "com.mysql.jdbc.Driver"; final static String jdbcUrl = "jdbc:mysql://119.x.x.x:3306/parking?useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull"; final static String user = "dba"; final static String passwd = "xxx"; // 连接池初始化大小 final static int initialSize = 5; // 连接池保持的最小连接数 final static int minPoolSize = 5; // 连接池最大连接数量 10 final static int maxPoolSize = 15; // 最小逐出时间,100秒 final static int maxIdleTime = 100000; // 连接失败时重试次数 final static int retryAttempts = 10; // 当连接池连接耗尽时获取连接数 增量获取连接 final static int acquireIncrement = 3; // 数据源 final static ComboPooledDataSource c3p0DataSource = getC3p0DataSource(); // SQL執行查询次数 ,扩大100倍/次 final static int count = 100; public static void main(String[] args) { TestDao testDAO = new TestDao(); System.out.println("=C3p0 begin="); // 調用次數 for (int i = 0; i < 100; i++) { try { queryC3p0(testDAO, c3p0DataSource, count); } catch (SQLException e) { e.printStackTrace(); } } System.out.println("=C3p0 end="); } public static void queryC3p0(TestDao testDAO, ComboPooledDataSource ds, int count) throws SQLException { // 初始化连接池,防止时间过大 for (int i = 0; i < 100; i++) { testDAO.query(ds.getConnection()); } // 开始时间 long startMillis = System.currentTimeMillis(); // 循环查询 for (int i = 0; i < count; i++) { testDAO.query(ds.getConnection()); } // 结束时间 long endMillis = System.currentTimeMillis(); // 输出结束时间 System.out.println(endMillis - startMillis + "ms 时间差值"); } public static ComboPooledDataSource getC3p0DataSource() { // 设置参数 ComboPooledDataSource cpds = new ComboPooledDataSource(); try { cpds.setDriverClass(driver); } catch (PropertyVetoException e) { e.printStackTrace(); } cpds.setJdbcUrl(jdbcUrl); cpds.setUser(user); cpds.setPassword(passwd); cpds.setInitialPoolSize(initialSize); cpds.setMinPoolSize(minPoolSize); cpds.setMaxPoolSize(maxPoolSize); cpds.setMaxIdleTime(maxIdleTime); cpds.setAcquireRetryAttempts(retryAttempts); cpds.setAcquireIncrement(acquireIncrement); cpds.setTestConnectionOnCheckin(false); cpds.setTestConnectionOnCheckout(false); return cpds; } } 三: package com.data; import java.sql.SQLException; import com.alibaba.druid.pool.DruidDataSource; /** * Druid连接池测试类 * @author demo Yan */ public class TestDruid { final static String driver = "com.mysql.jdbc.Driver"; final static String jdbcUrl = "jdbc:mysql://119.x.x.x:3306/parking?useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull"; final static String user = "dba"; final static String passwd = "xxx"; // 连接池初始化大小 final static int initialSize = 5; // 连接池保持的最小连接数 final static int minPoolSize = 5; // 连接池最大连接数量 10 final static int maxPoolSize = 15; // 最小逐出时间,100秒 final static int maxIdleTime = 100000; // 连接失败时重试次数 final static int retryAttempts = 10; // 当连接池连接耗尽时获取连接数 增量获取连接 final static int acquireIncrement = 3; // Druid数据源 final static DruidDataSource druidDataSource = getDruidDataSource(); // SQL執行查询次数 ,扩大10倍/次 final static int count = 100; public static void main(String[] args) { TestDao testDao = new TestDao(); System.out.println("=Durid begin="); // =============================調用次數============================== for (int i = 0; i < 100; i++) { try { queryDruid(testDao, druidDataSource, count); //System.out.println("获取第"+i+"个"); } catch (SQLException e) { e.printStackTrace(); } } System.out.println("=Durid end="); } public static void queryDruid(TestDao testDAO, DruidDataSource ds, int count) throws SQLException { // 初始化连接池,防止时间过大 for (int i = 0; i < 100; i++) { testDAO.query(ds.getConnection()); } // 开始时间 long startMillis = System.currentTimeMillis(); // 循环查询 for (int i = 0; i < count; i++) { testDAO.query(ds.getConnection()); } // 结束时间 long endMillis = System.currentTimeMillis(); // 输出结束时间 System.out.println(endMillis - startMillis + "ms 时间差值"); } public static DruidDataSource getDruidDataSource() { DruidDataSource dds = new DruidDataSource(); dds.setUsername(user); dds.setUrl(jdbcUrl); dds.setPassword(passwd); dds.setDriverClassName(driver); dds.setInitialSize(initialSize); dds.setMaxActive(maxPoolSize); dds.setMaxWait(maxIdleTime); dds.setTestWhileIdle(false); dds.setTestOnReturn(false); dds.setTestOnBorrow(false); return dds; } } 四: package com.data; import java.sql.SQLException; import org.apache.tomcat.jdbc.pool.DataSource; /** * JDBC连接池测试类 * @author demo Yan * */ public class TestJDBC { final static String driver = "com.mysql.jdbc.Driver"; final static String jdbcUrl = "jdbc:mysql://119.x.x.x:3306/parking?useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull"; final static String user = "dba"; final static String passwd = ""; // 连接池初始化大小 final static int initialSize = 5; // 连接池保持的最小连接数 final static int minPoolSize = 5; // 连接池最大连接数量 10 final static int maxPoolSize = 15; // 最小逐出时间,100秒 final static int maxIdleTime = 100000; // 连接失败时重试次数 final static int retryAttempts = 10; // 当连接池连接耗尽时获取连接数 增量获取连接 final static int acquireIncrement = 3; // Druid数据源 final static DataSource tomcatDataSource = getTomcatDataSource(); // 查询次数 final static int count = 100; public static void main(String[] args) { TestDao testDAO = new TestDao(); System.out.println("=JDBC begin="); // 調用次數 for (int i = 0; i < 100; i++) { try { queryTomcatJDBC(testDAO, tomcatDataSource, count); } catch (SQLException e) { e.printStackTrace(); } } System.out.println("=JDBC end="); } public static void queryTomcatJDBC(TestDao testDAO, DataSource ds, int count) throws SQLException { // 初始化连接池,防止时间过大 for (int i = 0; i < 100; i++) { testDAO.query(ds.getConnection()); } // 开始时间 long startMillis = System.currentTimeMillis(); // 循环查询 for (int i = 0; i < count; i++) { testDAO.query(ds.getConnection()); } // 结束时间 long endMillis = System.currentTimeMillis(); // 输出结束时间 System.out.println(endMillis - startMillis + "ms 时间差值"); } public static DataSource getTomcatDataSource() { DataSource ds = new DataSource(); ds.setUrl(jdbcUrl); ds.setUsername(user); ds.setPassword(passwd); ds.setDriverClassName(driver); ds.setInitialSize(initialSize); ds.setMaxIdle(minPoolSize); ds.setMaxActive(maxPoolSize); ds.setTestWhileIdle(false); ds.setTestOnBorrow(false); ds.setTestOnConnect(false); ds.setTestOnReturn(false); return ds; } } 结果是: =C3p0 begin= 4587ms 时间差值 4078ms 时间差值 4021ms 时间差值 4203ms 时间差值 3993ms 时间差值 4443ms 时间差值 4537ms 时间差值 4326ms 时间差值 4496ms 时间差值 4122ms 时间差值 4546ms 时间差值 5057ms 时间差值 4221ms 时间差值 4116ms 时间差值 4096ms 时间差值 4741ms 时间差值 4392ms 时间差值 4329ms 时间差值 5349ms 时间差值 4432ms 时间差值 4198ms 时间差值 4646ms 时间差值 4987ms 时间差值 5476ms 时间差值 5284ms 时间差值 4885ms 时间差值 4805ms 时间差值 4910ms 时间差值 4287ms 时间差值 4533ms 时间差值 4493ms 时间差值 4603ms 时间差值 4323ms 时间差值 4418ms 时间差值 4066ms 时间差值 4175ms 时间差值 4270ms 时间差值 4106ms 时间差值 4266ms 时间差值 4708ms 时间差值 4855ms 时间差值 5603ms 时间差值 5055ms 时间差值 4830ms 时间差值 4661ms 时间差值 4740ms 时间差值 4715ms 时间差值 4725ms 时间差值 4673ms 时间差值 4747ms 时间差值 4270ms 时间差值 4839ms 时间差值 4993ms 时间差值 5950ms 时间差值 5161ms 时间差值 4993ms 时间差值 4487ms 时间差值 4383ms 时间差值 4064ms 时间差值 4536ms 时间差值 4137ms 时间差值 4660ms 时间差值 4616ms 时间差值 5263ms 时间差值 5715ms 时间差值 5203ms 时间差值 7300ms 时间差值 7531ms 时间差值 11375ms 时间差值 5194ms 时间差值 5932ms 时间差值 6865ms 时间差值 7047ms 时间差值 5207ms 时间差值 6468ms 时间差值 5125ms 时间差值 4827ms 时间差值 4731ms 时间差值 5314ms 时间差值 5702ms 时间差值 4404ms 时间差值 6076ms 时间差值 6470ms 时间差值 6477ms 时间差值 6270ms 时间差值 7265ms 时间差值 4849ms 时间差值 5065ms 时间差值 5257ms 时间差值 6591ms 时间差值 5284ms 时间差值 4529ms 时间差值 4764ms 时间差值 5105ms 时间差值 4576ms 时间差值 4886ms 时间差值 4638ms 时间差值 5315ms 时间差值 5238ms 时间差值 5723ms 时间差值 =C3p0 end= =Durid begin= 8792ms 时间差值 6481ms 时间差值 5473ms 时间差值 5169ms 时间差值 4720ms 时间差值 5028ms 时间差值 5085ms 时间差值 5170ms 时间差值 4728ms 时间差值 4946ms 时间差值 5409ms 时间差值 5961ms 时间差值 4827ms 时间差值 4649ms 时间差值 6663ms 时间差值 5915ms 时间差值 6675ms 时间差值 5557ms 时间差值 6107ms 时间差值 5750ms 时间差值 4819ms 时间差值 5988ms 时间差值 5009ms 时间差值 4994ms 时间差值 6953ms 时间差值 5861ms 时间差值 5038ms 时间差值 5862ms 时间差值 6465ms 时间差值 6127ms 时间差值 5383ms 时间差值 5201ms 时间差值 5101ms 时间差值 5721ms 时间差值 5183ms 时间差值 4564ms 时间差值 4455ms 时间差值 4703ms 时间差值 4689ms 时间差值 5497ms 时间差值 4963ms 时间差值 4439ms 时间差值 5510ms 时间差值 6490ms 时间差值 4803ms 时间差值 4455ms 时间差值 5737ms 时间差值 4466ms 时间差值 5283ms 时间差值 4875ms 时间差值 5929ms 时间差值 5574ms 时间差值 5228ms 时间差值 5333ms 时间差值 6119ms 时间差值 5792ms 时间差值 5945ms 时间差值 6906ms 时间差值 5326ms 时间差值 4622ms 时间差值 5915ms 时间差值 5026ms 时间差值 5724ms 时间差值 5428ms 时间差值 6343ms 时间差值 5442ms 时间差值 5766ms 时间差值 5686ms 时间差值 4619ms 时间差值 5381ms 时间差值 6029ms 时间差值 5724ms 时间差值 5179ms 时间差值 6645ms 时间差值 5598ms 时间差值 5194ms 时间差值 5515ms 时间差值 5854ms 时间差值 5495ms 时间差值 5065ms 时间差值 6529ms 时间差值 7326ms 时间差值 8997ms 时间差值 6799ms 时间差值 8019ms 时间差值 8366ms 时间差值 5837ms 时间差值 5705ms 时间差值 5765ms 时间差值 4980ms 时间差值 5912ms 时间差值 5113ms 时间差值 4799ms 时间差值 5232ms 时间差值 5085ms 时间差值 5355ms 时间差值 5765ms 时间差值 5094ms 时间差值 6388ms 时间差值 5228ms 时间差值 =Durid end= ************************多线程操作(5个线程)************************ 一: package com.data.thread; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DBTest implements Runnable { public long startTime = 0; public static int count = 0; public static void main(String[] args) { // 初始化DB C3p0.init(); // DBCP.init(); // Druid.init(); DBTest test = new DBTest(); // DB启动后,开启线程 test.startup(); } /** * 开启5个线程 */ public void startup() { for (int i = 0; i < 5; i++) { Thread thread = new Thread(this); thread.start(); } } @Override public void run() { if (count == 0 && startTime == 0) { startTime = System.currentTimeMillis(); System.out.println("开始时间:" + startTime); } // SQL執行查询次数 ,扩大100倍/次 for (int i = 0; i < 100; i++) { try { Connection conn = C3p0.getConnection(); // Connection conn = DBCP.getConnection(); //Connection conn = Druid.getConnection(); if (conn != null) { Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery("select * from User_appuser_login"); while (rs.next()) { String username = rs.getString(12); System.out.println("获取业务名:" + username); System.out.println("当前正在使用的线程:" + Thread.currentThread().getName()); } rs.close(); statement.close(); conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } count++; if (count == 5) { long endTime = System.currentTimeMillis(); System.out.println("结束时间:" + endTime); System.out.println("运行完毕!耗时为:" + (endTime - startTime) + "ms"); } } } 二: package com.data.thread; import java.sql.Connection; import java.sql.SQLException; import com.mchange.v2.c3p0.ComboPooledDataSource; public class C3p0 { private static ComboPooledDataSource dataSource = null; public C3p0() { dataSource = new ComboPooledDataSource(); } public static void init() { dataSource = new ComboPooledDataSource(); try { dataSource.setDriverClass("com.mysql.jdbc.Driver"); dataSource.setJdbcUrl("jdbc:mysql://119.x.x.x:3306/parking?useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull"); dataSource.setUser("dba"); dataSource.setPassword("xxx"); dataSource.setMaxPoolSize(15); dataSource.setMinPoolSize(5); dataSource.setInitialPoolSize(5); } catch (Exception e) { } } public static synchronized Connection getConnection() throws SQLException { return dataSource.getConnection(); } } 三: package com.data.thread; import java.sql.Connection; import java.sql.SQLException; import com.alibaba.druid.pool.DruidDataSource; import com.mchange.v2.c3p0.ComboPooledDataSource; public class Druid { private static DruidDataSource dataSource = null; public Druid() { dataSource = new DruidDataSource(); } public static void init() { dataSource = new DruidDataSource(); try { dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://119.x.x.x:3306/parking?useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull"); dataSource.setUsername("dba"); dataSource.setPassword("xxx"); dataSource.setInitialSize(5); dataSource.setMaxActive(15); dataSource.setMaxWait(100000); dataSource.setTestWhileIdle(false); dataSource.setTestOnReturn(false); dataSource.setTestOnBorrow(false); } catch (Exception e) { } } public static synchronized Connection getConnection() throws SQLException { return dataSource.getConnection(); } } 四: package com.data.thread; import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; import org.apache.commons.dbcp2.BasicDataSource; import org.apache.commons.dbcp2.BasicDataSourceFactory; public class DBCP { private static BasicDataSource dataSource = null; public DBCP() { } public static void init() { if (dataSource != null) { try { dataSource.close(); } catch (Exception e) { } dataSource = null; } try { Properties p = new Properties(); p.setProperty("driverClassName", "com.mysql.jdbc.Driver"); p.setProperty("url", "jdbc:mysql://119.x.x.x:3306/parking?useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull"); p.setProperty("password", ""); p.setProperty("username", "dba"); p.setProperty("maxActive", "15"); p.setProperty("maxIdle", "5"); //p.setProperty("minIdle", "30"); p.setProperty("initialSize", "5"); dataSource = (BasicDataSource) BasicDataSourceFactory.createDataSource(p); } catch (Exception e) { } } public static synchronized Connection getConnection() throws SQLException { return dataSource.getConnection(); } } 执行结果: C3p0运行完毕!耗时为:72340ms druid运行完毕!耗时为:68374ms DBCP运行完毕!耗时为:71367ms 线程同步下: 结论:少数线程内的性能接近 随着线程的增加,Druid和DBCP性能更好 ========================================= 线程非同步下: 结论:少数线程内的性能DBCP差,C3p0和Druid更加 随着线程的增加,Druid和C3p0性能更好 ***************************指标查看************************* mysql>show status; +-----------------------------------------------+---------------------+ | Variable_name | Value | +-----------------------------------------------+---------------------+ | Aborted_clients | 4 | | Aborted_connects | 7039 | | Binlog_cache_disk_use | 37 | | Binlog_cache_use | 29865887 | | Binlog_stmt_cache_disk_use | 1 | | Binlog_stmt_cache_use | 445 | | Bytes_received | 464 | | Bytes_sent | 28378 | | Com_admin_commands | 0 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | | Com_alter_user | 0 | | Com_analyze | 0 | | Com_begin | 0 | | Com_binlog | 0 | | Com_call_procedure | 0 | | Com_change_db | 0 | | Com_change_master | 0 | | Com_check | 0 | | Com_checksum | 0 | | Com_commit | 0 | | Com_create_db | 0 | | Com_create_event | 0 | | Com_create_function | 0 | | Com_create_index | 0 | | Com_create_procedure | 0 | | Com_create_server | 0 | | Com_create_table | 0 | | Com_create_trigger | 0 | | Com_create_udf | 0 | | Com_create_user | 0 | | Com_create_view | 0 | | Com_dealloc_sql | 0 | | Com_delete | 0 | | Com_delete_multi | 0 | | Com_do | 0 | | Com_drop_db | 0 | | Com_drop_event | 0 | | Com_drop_function | 0 | | Com_drop_index | 0 | | Com_drop_procedure | 0 | | Com_drop_server | 0 | | Com_drop_table | 0 | | Com_drop_trigger | 0 | | Com_drop_user | 0 | | Com_drop_view | 0 | | Com_empty_query | 0 | | Com_execute_sql | 0 | | Com_flush | 0 | | Com_get_diagnostics | 0 | | Com_grant | 0 | | Com_ha_close | 0 | | Com_ha_open | 0 | | Com_ha_read | 0 | | Com_help | 0 | | Com_insert | 0 | | Com_insert_select | 0 | | Com_install_plugin | 0 | | Com_kill | 0 | | Com_load | 0 | | Com_lock_tables | 0 | | Com_optimize | 0 | | Com_preload_keys | 0 | | Com_prepare_sql | 0 | | Com_purge | 0 | | Com_purge_before_date | 0 | | Com_release_savepoint | 0 | | Com_rename_table | 0 | | Com_rename_user | 0 | | Com_repair | 0 | | Com_replace | 0 | | Com_replace_select | 0 | | Com_reset | 0 | | Com_resignal | 0 | | Com_revoke | 0 | | Com_revoke_all | 0 | | Com_rollback | 0 | | Com_rollback_to_savepoint | 0 | | Com_savepoint | 0 | | Com_select | 1 | | Com_set_option | 0 | | Com_signal | 0 | | Com_show_binlog_events | 0 | | Com_show_binlogs | 0 | | Com_show_charsets | 0 | | Com_show_collations | 0 | | Com_show_create_db | 0 | | Com_show_create_event | 0 | | Com_show_create_func | 0 | | Com_show_create_proc | 0 | | Com_show_create_table | 0 | | Com_show_create_trigger | 0 | | Com_show_databases | 0 | | Com_show_engine_logs | 0 | | Com_show_engine_mutex | 0 | | Com_show_engine_status | 0 | | Com_show_events | 0 | | Com_show_errors | 0 | | Com_show_fields | 0 | | Com_show_function_code | 0 | | Com_show_function_status | 0 | | Com_show_grants | 0 | | Com_show_keys | 0 | | Com_show_master_status | 0 | | Com_show_open_tables | 0 | | Com_show_plugins | 0 | | Com_show_privileges | 0 | | Com_show_procedure_code | 0 | | Com_show_procedure_status | 0 | | Com_show_processlist | 4 | | Com_show_profile | 0 | | Com_show_profiles | 0 | | Com_show_relaylog_events | 0 | | Com_show_slave_hosts | 0 | | Com_show_slave_status | 1 | | Com_show_status | 5 | | Com_show_storage_engines | 0 | | Com_show_table_status | 0 | | Com_show_tables | 0 | | Com_show_triggers | 0 | | Com_show_variables | 0 | | Com_show_warnings | 0 | | Com_slave_start | 0 | | Com_slave_stop | 0 | | Com_stmt_close | 0 | | Com_stmt_execute | 0 | | Com_stmt_fetch | 0 | | Com_stmt_prepare | 0 | | Com_stmt_reprepare | 0 | | Com_stmt_reset | 0 | | Com_stmt_send_long_data | 0 | | Com_truncate | 0 | | Com_uninstall_plugin | 0 | | Com_unlock_tables | 0 | | Com_update | 0 | | Com_update_multi | 0 | | Com_xa_commit | 0 | | Com_xa_end | 0 | | Com_xa_prepare | 0 | | Com_xa_recover | 0 | | Com_xa_rollback | 0 | | Com_xa_start | 0 | | Compression | OFF | | Connection_errors_accept | 0 | | Connection_errors_internal | 0 | | Connection_errors_max_connections | 0 | | Connection_errors_peer_address | 0 | | Connection_errors_select | 0 | | Connection_errors_tcpwrap | 0 | | Connections | 9829 | | Created_tmp_disk_tables | 0 | | Created_tmp_files | 9 | | Created_tmp_tables | 0 | | Delayed_errors | 0 | | Delayed_insert_threads | 0 | | Delayed_writes | 0 | | Flush_commands | 1 | | Handler_commit | 0 | | Handler_delete | 0 | | Handler_discover | 0 | | Handler_external_lock | 0 | | Handler_mrr_init | 0 | | Handler_prepare | 0 | | Handler_read_first | 0 | | Handler_read_key | 0 | | Handler_read_last | 0 | | Handler_read_next | 0 | | Handler_read_prev | 0 | | Handler_read_rnd | 0 | | Handler_read_rnd_next | 0 | | Handler_rollback | 0 | | Handler_savepoint | 0 | | Handler_savepoint_rollback | 0 | | Handler_update | 0 | | Handler_write | 0 | | Innodb_buffer_pool_dump_status | not started | | Innodb_buffer_pool_load_status | not started | | Innodb_buffer_pool_pages_data | 6746 | | Innodb_buffer_pool_bytes_data | 110526464 | | Innodb_buffer_pool_pages_dirty | 436 | | Innodb_buffer_pool_bytes_dirty | 7143424 | | Innodb_buffer_pool_pages_flushed | 4661200 | | Innodb_buffer_pool_pages_free | 1024 | | Innodb_buffer_pool_pages_misc | 421 | | Innodb_buffer_pool_pages_total | 8191 | | Innodb_buffer_pool_read_ahead_rnd | 0 | | Innodb_buffer_pool_read_ahead | 4286 | | Innodb_buffer_pool_read_ahead_evicted | 2 | | Innodb_buffer_pool_read_requests | 206301301597 | | Innodb_buffer_pool_reads | 2978 | | Innodb_buffer_pool_wait_free | 0 | | Innodb_buffer_pool_write_requests | 982150287 | | Innodb_data_fsyncs | 128831453 | | Innodb_data_pending_fsyncs | 0 | | Innodb_data_pending_reads | 0 | | Innodb_data_pending_writes | 0 | | Innodb_data_read | 119099392 | | Innodb_data_reads | 7281 | | Innodb_data_writes | 133226820 | | Innodb_data_written | 275932732928 | | Innodb_dblwr_pages_written | 4661200 | | Innodb_dblwr_writes | 172095 | | Innodb_have_atomic_builtins | ON | | Innodb_log_waits | 0 | | Innodb_log_write_requests | 113817951 | | Innodb_log_writes | 128335531 | | Innodb_os_log_fsyncs | 128360182 | | Innodb_os_log_pending_fsyncs | 0 | | Innodb_os_log_pending_writes | 0 | | Innodb_os_log_written | 123185655296 | | Innodb_page_size | 16384 | | Innodb_pages_created | 33433 | | Innodb_pages_read | 7264 | | Innodb_pages_written | 4661200 | | Innodb_row_lock_current_waits | 0 | | Innodb_row_lock_time | 19 | | Innodb_row_lock_time_avg | 3 | | Innodb_row_lock_time_max | 9 | | Innodb_row_lock_waits | 5 | | Innodb_rows_deleted | 6801 | | Innodb_rows_inserted | 2843637 | | Innodb_rows_read | 1128879378270 | | Innodb_rows_updated | 145093743 | | Innodb_num_open_files | 140 | | Innodb_truncated_status_writes | 0 | | Innodb_available_undo_logs | 128 | | Key_blocks_not_flushed | 0 | | Key_blocks_unused | 6694 | | Key_blocks_used | 83 | | Key_read_requests | 34443 | | Key_reads | 2 | | Key_write_requests | 8410 | | Key_writes | 179 | | Last_query_cost | 0.000000 | | Last_query_partial_plans | 0 | | Max_used_connections | 4 | | Not_flushed_delayed_rows | 0 | | Open_files | 55 | | Open_streams | 0 | | Open_table_definitions | 222 | | Open_tables | 948 | | Opened_files | 2889 | | Opened_table_definitions | 0 | | Opened_tables | 0 | | Performance_schema_accounts_lost | 0 | | Performance_schema_cond_classes_lost | 0 | | Performance_schema_cond_instances_lost | 0 | | Performance_schema_digest_lost | 0 | | Performance_schema_file_classes_lost | 0 | | Performance_schema_file_handles_lost | 0 | | Performance_schema_file_instances_lost | 0 | | Performance_schema_hosts_lost | 0 | | Performance_schema_locker_lost | 0 | | Performance_schema_mutex_classes_lost | 0 | | Performance_schema_mutex_instances_lost | 0 | | Performance_schema_rwlock_classes_lost | 0 | | Performance_schema_rwlock_instances_lost | 0 | | Performance_schema_session_connect_attrs_lost | 0 | | Performance_schema_socket_classes_lost | 0 | | Performance_schema_socket_instances_lost | 0 | | Performance_schema_stage_classes_lost | 0 | | Performance_schema_statement_classes_lost | 0 | | Performance_schema_table_handles_lost | 0 | | Performance_schema_table_instances_lost | 0 | | Performance_schema_thread_classes_lost | 0 | | Performance_schema_thread_instances_lost | 0 | | Performance_schema_users_lost | 0 | | Prepared_stmt_count | 0 | | Qcache_free_blocks | 1 | | Qcache_free_memory | 1031352 | | Qcache_hits | 0 | | Qcache_inserts | 0 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 88 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 1 | | Queries | 286729695 | | Questions | 11 | | Select_full_join | 0 | | Select_full_range_join | 0 | | Select_range | 0 | | Select_range_check | 0 | | Select_scan | 0 | | Slave_heartbeat_period | 30.000 | | Slave_last_heartbeat | 2017-10-13 00:09:50 | | Slave_open_temp_tables | 0 | | Slave_received_heartbeats | 215 | | Slave_retried_transactions | 0 | | Slave_running | ON | | Slow_launch_threads | 0 | | Slow_queries | 0 | | Sort_merge_passes | 0 | | Sort_range | 0 | | Sort_rows | 0 | | Sort_scan | 0 | | Ssl_accept_renegotiates | 0 | | Ssl_accepts | 0 | | Ssl_callback_cache_hits | 0 | | Ssl_cipher | | | Ssl_cipher_list | | | Ssl_client_connects | 0 | | Ssl_connect_renegotiates | 0 | | Ssl_ctx_verify_depth | 0 | | Ssl_ctx_verify_mode | 0 | | Ssl_default_timeout | 0 | | Ssl_finished_accepts | 0 | | Ssl_finished_connects | 0 | | Ssl_server_not_after | | | Ssl_server_not_before | | | Ssl_session_cache_hits | 0 | | Ssl_session_cache_misses | 0 | | Ssl_session_cache_mode | NONE | | Ssl_session_cache_overflows | 0 | | Ssl_session_cache_size | 0 | | Ssl_session_cache_timeouts | 0 | | Ssl_sessions_reused | 0 | | Ssl_used_session_cache_entries | 0 | | Ssl_verify_depth | 0 | | Ssl_verify_mode | 0 | | Ssl_version | | | Table_locks_immediate | 360680264 | | Table_locks_waited | 18 | | Table_open_cache_hits | 0 | | Table_open_cache_misses | 0 | | Table_open_cache_overflows | 0 | | Tc_log_max_pages_used | 0 | | Tc_log_page_size | 0 | | Tc_log_page_waits | 0 | | Threads_cached | 2 | | Threads_connected | 2 | | Threads_created | 4 | | Threads_running | 23 | | Uptime | 155979 | | Uptime_since_flush_status | 155979 | +-----------------------------------------------+---------------------+ 关键属性: Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。 Connections 试图连接MySQL服务器的次数。 Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。 Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。 Delayed_writes 用INSERT DELAYED写入的行数。 Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 Flush_commands 执行FLUSH命令的次数。 Handler_delete 请求从一张表中删除行的次数。 Handler_read_first 请求读入表中第一行的次数。 Handler_read_key 请求数字基于键读行。 Handler_read_next 请求读入基于一个键的一行的次数。 Handler_read_rnd 请求读入基于一个固定位置的一行的次数。 Handler_update 请求更新表中一行的次数。 Handler_write 请求向表中插入一行的次数。 Key_blocks_used 用于关键字缓存的块的数量。 Key_read_requests 请求从缓存读入一个键值的次数。 Key_reads 从磁盘物理读入一个键值的次数。 Key_write_requests 请求将一个关键字块写入缓存次数。 Key_writes 将一个键值块物理写入磁盘的次数。 Max_used_connections 同时使用的连接的最大数目。 Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。 Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。 Open_tables 打开表的数量。 Open_files 打开文件的数量。 Open_streams 打开流的数量(主要用于日志记载) Opened_tables 已经打开的表的数量。 Questions 发往服务器的查询的数量。 Slow_queries 要花超过long_query_time时间的查询数量。 Threads_connected 当前打开的连接的数量。 Threads_running 不在睡眠的线程数量。 Uptime 服务器工作了多少秒。 org.apache.commons commons-dbcp22.1.1