现象:tomcat5.5 装在linux服务器上,数据库是mysql5.0的,现在有6GB数据.
问题:网站会时不时地自动down 掉,重启TOMCAT就好了,catalina.out里面就一些网站的普通的异常;当重启TOMCAT后,查询速度会非常慢,要等上十多分钟.我不知道是tomcat还是mysql的问题,还有,怎么样查出原因呢?希望高手指定!

解决方案 »

  1.   

    会不会是连接池方面的问题?
    我遇见过网站(也是mysql数据库)会在第2天down的情况,重启动tomcat就好了,第2天照样down.
    配置了连接池后问题解决了.
      

  2.   

    估计是你的MySQL创建了N多连接一个都没关造成的。系统资源被大量占用,不死才怪了。
      

  3.   

    这是JNDI连接池:
    位于linux:/server_root/apache-tomcat-5.5.20/conf/Catalina/localhost/guide.xml
      <Resource name="jdbc/guide" factory="org.apache.commons.dbcp.BasicDataSourceFactory" auth="Container" type="javax.sql.DataSource"
                   maxActive="1000" maxIdle="10" maxWait="1200" poolPreparedStatements="true" 
       validationQuery="select 0;" testOnReturn="true" testWhileIdle="true" 
       removeAbandoned="true" removeAbandonedTimeout="10" logAbandoned="true"
                   username="guide" password="wind002143" driverClassName="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://localhost:3306/guide?autoReconnect=true"/>
    </Context>
    代码里是有一个直连,但是是在JNDI连接池DOWN掉的情况下启动的.
    这里是调用:
    public static Connection getConnection() {
    Connection conn = getPoolConnection();
    if(conn!=null){
    return conn;
    }
    return getDirectConnection();
    }
    连接池方法:
    public static Connection getPoolConnection() {
    Connection tmpConn = null;
    try{
    Context ctx = new InitialContext();
    if (ctx != null) {
    DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/guide");
    tmpConn = ds.getConnection();
    }
    }
    catch(Exception e){
    //System.out.print(e.toString());
    }
    return tmpConn; }直连方法:
    public static Connection getDirectConnection() {
    try {
    Class.forName(DB_DRIVER).newInstance();
    return DriverManager.getConnection("jdbc:mysql://" + DB_SERVER
    + ":3306/" + DB, DB_USER, DB_PASSWORD);
    } catch (Exception e) {
    e.printStackTrace();
    }
    return null;
    }
      

  4.   

    我猜是内存溢出错误!当重启TOMCAT后,查询速度会非常慢看情形,他使用了大量数据缓冲,造成开始查询速度很慢。还是算法问题,或者cache没有设置好。 调试一下程序的cache的配置
    然后监控一下tomcat的内存使用情况jconsole 可以用,java自带的。http://www.java2000.net/viewthread.jsp?tid=178
      

  5.   

    这是非正常的(速度极慢): 
    MYSQL show   status; 数据(D): 
    Variable_name Value 
    Aborted_clients 734 
    Aborted_connects 0 
    Binlog_cache_disk_use 17 
    Binlog_cache_use 8829 
    Bytes_received 4221 
    Bytes_sent 260965 
    Com_admin_commands 0 
    Com_alter_db 0 
    Com_alter_table 0 
    Com_analyze 0 
    Com_backup_table 0 
    Com_begin 0 
    Com_change_db 0 
    Com_change_master 0 
    Com_check 0 
    Com_checksum 0 
    Com_commit 0 
    Com_create_db 0 
    Com_create_function 0 
    Com_create_index 0 
    Com_create_table 0 
    Com_dealloc_sql 0 
    Com_delete 0 
    Com_delete_multi 0 
    Com_do 0 
    Com_drop_db 0 
    Com_drop_function 0 
    Com_drop_index 0 
    Com_drop_table 0 
    Com_drop_user 0 
    Com_execute_sql 0 
    Com_flush 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_kill 0 
    Com_load 0 
    Com_load_master_data 0 
    Com_load_master_table 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_rename_table 0 
    Com_repair 0 
    Com_replace 0 
    Com_replace_select 0 
    Com_reset 0 
    Com_restore_table 0 
    Com_revoke 0 
    Com_revoke_all 0 
    Com_rollback 0 
    Com_savepoint 0 
    Com_select 21 
    Com_set_option 0 
    Com_show_binlog_events 0 
    Com_show_binlogs 0 
    Com_show_charsets 1 
    Com_show_collations 1 
    Com_show_column_types 0 
    Com_show_create_db 0 
    Com_show_create_table 0 
    Com_show_databases 0 
    Com_show_errors 0 
    Com_show_fields 0 
    Com_show_grants 0 
    Com_show_innodb_status 0 
    Com_show_keys 0 
    Com_show_logs 0 
    Com_show_master_status 0 
    Com_show_ndb_status 0 
    Com_show_new_master 0 
    Com_show_open_tables 0 
    Com_show_privileges 0 
    Com_show_processlist 1 
    Com_show_slave_hosts 0 
    Com_show_slave_status 0 
    Com_show_status 90 
    Com_show_storage_engines 1 
    Com_show_tables 0 
    Com_show_triggers 0 
    Com_show_variables 1 
    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_reset 0 
    Com_stmt_send_long_data 0 
    Com_truncate 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 ON 
    Connections 1139 
    Created_tmp_disk_tables 34 
    Created_tmp_files 24 
    Created_tmp_tables 205 
    Delayed_errors 0 
    Delayed_insert_threads 0 
    Delayed_writes 0 
    Flush_commands 1 
    Handler_commit 0 
    Handler_delete 0 
    Handler_discover 0 
    Handler_prepare 0 
    Handler_read_first 7 
    Handler_read_key 0 
    Handler_read_next 0 
    Handler_read_prev 0 
    Handler_read_rnd 0 
    Handler_read_rnd_next 20325 
    Handler_rollback 0 
    Handler_savepoint 0 
    Handler_savepoint_rollback 0 
    Handler_update 0 
    Handler_write 20336 
    Innodb_buffer_pool_pages_data 45916 
    Innodb_buffer_pool_pages_dirty 14 
    Innodb_buffer_pool_pages_flushed 22353 
    Innodb_buffer_pool_pages_free 1 
    Innodb_buffer_pool_pages_latched 12 
    Innodb_buffer_pool_pages_misc 163 
    Innodb_buffer_pool_pages_total 46080 
    Innodb_buffer_pool_read_ahead_rnd 34921 
    Innodb_buffer_pool_read_ahead_seq 428 
    Innodb_buffer_pool_read_requests 44126605 
    Innodb_buffer_pool_reads 1482742 
    Innodb_buffer_pool_wait_free 0 
    Innodb_buffer_pool_write_requests 90236 
    Innodb_data_fsyncs 24322 
    Innodb_data_pending_fsyncs 0 
    Innodb_data_pending_reads 3 
    Innodb_data_pending_writes 0 
    Innodb_data_read 3921825792 
    Innodb_data_reads 1752467 
    Innodb_data_writes 42626 
    Innodb_data_written 751406080 
    Innodb_dblwr_pages_written 22353 
    Innodb_dblwr_writes 1674 
    Innodb_log_waits 0 
    Innodb_log_write_requests 16664 
    Innodb_log_writes 19574 
    Innodb_os_log_fsyncs 21011 
    Innodb_os_log_pending_fsyncs 0 
    Innodb_os_log_pending_writes 0 
    Innodb_os_log_written 18222080 
    Innodb_page_size 16384 
    Innodb_pages_created 244 
    Innodb_pages_read 2860545 
    Innodb_pages_written 22353 
    Innodb_row_lock_current_waits 0 
    Innodb_row_lock_time 4516 
    Innodb_row_lock_time_avg 903 
    Innodb_row_lock_time_max 2955 
    Innodb_row_lock_waits 5 
    Innodb_rows_deleted 71 
    Innodb_rows_inserted 451 
    Innodb_rows_read 146063971 
    Innodb_rows_updated 8198 
    Key_blocks_not_flushed 0 
    Key_blocks_unused 348900 
    Key_blocks_used 0 
    Key_read_requests 0 
    Key_reads 0 
    Key_write_requests 0 
    Key_writes 0 
    Last_query_cost 0.000000 
    Max_used_connections 624 
    Not_flushed_delayed_rows 0 
    Open_files 78 
    Open_streams 0 
    Open_tables 399 
    Opened_tables 2 
    Qcache_free_blocks 1611 
    Qcache_free_memory 29055880 
    Qcache_hits 40090 
    Qcache_inserts 33037 
    Qcache_lowmem_prunes 0 
    Qcache_not_cached 390837 
    Qcache_queries_in_cache 2822 
    Qcache_total_blocks 7276 
    Questions 1208083 
    Rpl_status NULL 
    Select_full_join 0 
    Select_full_range_join 0 
    Select_range 0 
    Select_range_check 0 
    Select_scan 110 
    Slave_open_temp_tables 0 
    Slave_retried_transactions 0 
    Slave_running OFF 
    Slow_launch_threads 0 
    Slow_queries 1 
    Sort_merge_passes 0 
    Sort_range 0 
    Sort_rows 8 
    Sort_scan 1 
    Table_locks_immediate 378759 
    Table_locks_waited 0 
    Tc_log_max_pages_used 0 
    Tc_log_page_size 0 
    Tc_log_page_waits 0 
    Threads_cached 0 
    Threads_connected 624 
    Threads_created 1028 
    Threads_running 239 
    Uptime 14102