熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

高性能MySQL:捕獲診斷數據(2)

2013-11-23 21:09:59  來源: MySQL 

   捕獲診斷數據(

  前面我們演示了狀態計數器和線程狀態的例子在本章結束之前將再給出一些oprofile和gdb 的輸出例子下面是一個問題服務器上的oprofile 輸出你能找到問題嗎?

  samples % image name app name symbol name

   /novmlinux /novmlinux (no symbols)

   mysqld mysqld Query_cache::free_memory_block()

   libc libc (no symbols)

   mysqld mysqld my_hash_sort_bin

   mysqld mysqld MYSQLparse()

   libpthread libpthread pthread_mutex_trylock

   mysqld mysqld read_view_open_now

   mysqld mysqld Query_cache::invalidate_query_block_list()

   mysqld mysqld Query_cache::write_result_data()

   | Chapter :Profiling Server Performance

   mysqld mysqld MYSQLlex()

   libpthread libpthread __pthread_mutex_unlock_usercnt

   mysqld mysqld __intel_new_memcpy

  如果你的答案是查詢緩存那麼恭喜你答對了在這裡查詢緩存導致了大量的工作並拖慢了整個服務器這個問題是一夜之間突然發生的系統變慢了但這期間系統沒有做過任何其他變更關閉查詢緩存後系統性能恢復了正常這個例子比較簡單地解釋了服務器內部行為對性能的影響

  另外一個重要的關於等待分析的性能瓶頸分析工具是gdb 的堆棧跟蹤下面是對一個線程的堆棧跟蹤的輸出結果為了便於印刷做了一些格式化

  Thread (Thread xfee (LWP ))

  # xbebf in pthread_cond_wait@@GLIBC_ () from /libpthreadso

  # xfeef in os_event_wait_low () at os/ossyncc:

  # xfee in srv_conc_enter_innodb () at srv/srvsrvc:

  # xfeeca in innodb_srv_conc_enter_innodb () at handler/ha_innodbcc:

  # ha_innodb::index_read () at handler/ha_innodbcc:

  # xc in ?? ()

  # x in sub_select() ()

  # xe in ?? ()

  # xc in JOIN::exec() ()

  # xa in mysql_select() ()

  # xea in handle_select() ()

  # xffa in ?? ()

  # xce in mysql_execute_command() ()

  # xc in mysql_parse() ()

  # xa in dispatch_command() ()

  # xba in do_command(THD*) ()

  # xfbdd in handle_one_connection ()

  # xbea in start_thread () from /lib/libpthreadso

  # xbeedebd in clone () from /lib/libcso

  # x in ?? ()

       返回目錄高性能MySQL

       編輯推薦

       ASP NET開發培訓視頻教程

  數據倉庫與數據挖掘培訓視頻教程

       Oracle索引技術


From:http://tw.wingwit.com/Article/program/MySQL/201311/29699.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.