<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    使用LoadRunner監測MySQL數據庫的性能

       方法一:要想使用LoadRunner監測MySQL數據性能,LoadRunner沒有提供直接監測 MySQL的功能,所以,我們需要借助sitescope監控,然后在LoadRunner顯示sitescope監測結果,這樣間接地監控MySQL性能。

      相信大家對LoadRunner應該十分熟悉了,所以在這里,我大概介紹下sitescope的安裝和使用。

       sitescope是安裝在被監測數據庫所在的計算機上的,是一個比較新的軟件,在網上很難下載在免費使用版,我是找了一下午才在一個論壇里找到一位老好心人上傳的7.9.5版本和license,相當的好用,真是要謝謝這位兄臺了!下載地址:http://bbs.51testing.com/viewthread.php?tid=80283

      軟件下載好后,安裝應該很容易了。安裝好后系統重啟,再次開機時,會自動跳出sitescope的初始網頁,要求輸入license等資料。保存后自動跳出網頁提示,輸入對應的網址進入sitescope主界面。(sitescope是運行在瀏覽器上的一款軟件,每次要打開時,只要打開瀏覽器輸入對應的網址即可進入對應的sitescope主界面。)

      監測MySQL需要使用到JDBC驅動程序,為了讓sitescope能夠監測到 MySQL。下載地址:http://www.mysql.com/downloads/connector/j/

       下載成功后,解壓文件,把“mysql-connector-java-5.1.12-bin.jar”這個壓縮文件復制到(sitescope安裝目錄下)sitescope\java\lib\ext下,重啟系統。

      進入sitescope主界面,點擊“create group”,輸入自定義的組名,即可成功添加group。

      進入新建的組,在“Add to Group”一欄下點擊monitor,新添加monitor。

      然后“Add Database Query monitor”。

      這里是關鍵:

      Database Connection URL:jdbc:mysql://<database hostname>[:<tcp port>]/<database>

      for example:要連接MySQL的數據庫aBigDatabase,用MySQL的標準端口3306,則為 jdbc:mysql://206.168.191.19/aBigDatabase

      Query:show status where variable_name like ’innodb_buffer_pool_pages_total’

      Database Driver:org.gjt.mm.mysql.Driver

      updates時間和title可以根據自己的需要設置。

      Database User Name和Database Password需要咨詢數據庫管理員,拿到超級用戶的用戶名和密碼。

      點擊“Add”,保存即可。到此為止,sitescope已經能夠監測到數據的信息了。接下去是連接LoadRunner。

      打開 LoadRunner的Controller,在“run”中添加“sitescope”,即可成功監測到被測數據庫的信息了。哈哈,大功告成了!!!

      備注:

      MercyrySiteScope介紹:它是一款無代理監測解決方案,可確保分布式IT基礎架構——如服務器、操作系統、網絡設備、網絡服務、應用和應用組件的可用性和性能。這款主動的、基于Web界面的基礎架構監測解決方案是非常簡潔的,而且完全根據客戶度身定制,無需在您的上線系統中增加額外的代理。

      SiteScope為上線系統提供24×7的監控服務,為維護工程師及時發現問題提供幫助,確保系統架構內一切組建的正常運作。SiteScope在大量增加檢測周期的同時也降低了維護人員的工作成本 。

      SiteScope能夠監控UNIX服務器資源、windows服務器資源、weblogic應用服務器、IIS應用服務器、Oracle數據庫、 SQLServer數據庫、F5、URL地址、Ping、內存、CPU、磁盤空間、服務等等系統架構內各種組建的運行狀況;監控器按照指定頻率對目標進行檢測,一旦發現異常會及時向管理員發送意外事件的報警,警報可以通過聲音提醒、email、短信等方式發送;另外,SiteScope還可以生成監測活動的匯總報告,該對象從日志文件中讀取歷史信息,接著總結、篩選信息,并生成圖表格式的報告。

      SiteScope利用Database Query monitor監控指定的數據庫,通過SiteScope監控器的SHOW STATUS命令,獲得相應數據,命令如下:

      show status where variable_name like ’innodb_buffer_pool_pages_total’

      為了確保監控請確認LoadRunner and SiteScope之間的端口, SiteScope和MySQL必須打開TCP 8888和TCP 3306 . 還有SiteScope要監控必須要確保有JDBC的安裝。

      以下為監控前需要注意的地方:

      1. SiteScope to be deployed.

      2. Sufficient license points for Database Query monitor.

      3. TCP 8888 (default) opened two-way for LoadRunner to SiteScope.

      4. TCP 3306 (default) opened two-way for SiteScope to MySQL.

      5. Monitoring privileges for SiteScope to monitor MySQL.

      6. JDBC driver to be installed on SiteScope.

      7. Have knowledge of the counter you want to monitor.

    方法二:通過編寫腳本來進行監控

    // mysql_dll.cpp : Defines the entry point for the DLL application.

    #include "stdafx.h"
    #include "stdlib.h"

    MYSQL *conn=NULL;
    MYSQL_RES *p_res_ptr=NULL;
    MYSQL_ROW sqlrows;


    BOOL APIENTRY DllMain( HANDLE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
          )
    {
        return TRUE;
    }

    extern "C" int _declspec(dllexport) init_mysql_connection(char *str_server,char *str_username,char *str_pwd,char *str_Table)
    {
    conn=mysql_init(NULL);

        if(!conn)
    {
      printf("\nFailed to initate MySQL connection");
      return 1;
      exit(0);
    }
        else
    {
      printf("\nSuccess to initate MySQL connection");
      if (!mysql_real_connect(conn,str_server,str_username,str_pwd,str_Table,0,NULL,0))
      {
       printf( "Failed to connect to MySQL: Error: %s\n", mysql_error(conn));
      }
      else
      {
       printf("\nLogged on to %s sucessfully",str_server);
       return 0;
      }
      return 0;
    }
    }

    extern "C" int _declspec(dllexport) close_mysql_connection()
    {
    if(conn=NULL)
    {
      printf("\nConnection is Null");
      return 1;
      exit(0);
    }
    else
    {
         mysql_free_result(p_res_ptr);
      printf("\nClose connection");
      mysql_close(conn);  
      return 0;
    }
    }

    //"show status like \'qcache%\'"

    extern "C" int _declspec(dllexport) get_mysql_table_query(char *str_query)
    {
    int res=0;
    res=mysql_query(conn,str_query);
    if(res)
    {
      printf("Failed to mysql query: Error: %s\n", mysql_error(conn));
      return 1;
    }
    else
    {
      printf("\nSucess in Mysql Query");
      return 0;

    }

    }

     

    extern "C" int _declspec(dllexport) get_mysql_query_data(char *str_query,char *str_data)
    {
        unsigned long u1_numrow=0;
        unsigned int i_index = 0;
    p_res_ptr=mysql_use_result(conn);

    if(p_res_ptr){

      while((sqlrows=mysql_fetch_row(p_res_ptr))){
     
       if(*sqlrows[0]=*str_query)
       {
        strcpy(str_data,sqlrows[1]);
     
     
       }
      }
    }

    return NULL;

    }

     

    lr 9.1中代碼
    Action()
    {

            int i=0;
            double x;
            char *str_data;


            str_data=(char *)malloc(20*sizeof(char));
            lr_load_dll("D:\\vc\\mysql_dll\\Debug\\mysql_dll.dll");
            i= init_mysql_connection("localhost","root","123456","mysql");
            lr_output_message("%d",i);
     
           for(;;)
           {
                get_mysql_query_data("Qcache_hits",str_data);
                i=get_mysql_table_query("show status like \'qcache%\'");
                lr_output_message("%d",i);
                x = atof(str_data);
                lr_user_data_point("hits",x);
                lr_think_time(5);
           }
            lr_output_message("%d",x);
         close_mysql_connection();
    return 0;
    }


    posted on 2012-06-04 15:10 順其自然EVO 閱讀(1386) 評論(1)  編輯  收藏 所屬分類: loadrunner性能測試

    評論

    # re: 使用LoadRunner監測MySQL數據庫的性能 2012-10-29 10:24

    你好,請問sitescope是一定要安裝到mysql的機器上嗎  回復  更多評論   

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲三级在线视频| 国产亚洲自拍一区| 四虎成年永久免费网站| 青青青国产在线观看免费网站| 久久经典免费视频| 亚洲一卡2卡4卡5卡6卡在线99| 1000部羞羞禁止免费观看视频| 成人免费午夜视频| 国产亚洲日韩在线三区| 亚洲精品不卡视频| 国产成人综合亚洲| 午夜视频在线免费观看| 午夜时刻免费入口| 亚洲毛片在线观看| 高清免费久久午夜精品| 亚洲免费黄色网址| 亚洲色偷精品一区二区三区| 久久国产精品免费专区| 亚洲成av人片天堂网老年人| 亚洲精品无码久久毛片波多野吉衣| 人与禽交免费网站视频| 国产亚洲精品bv在线观看| 在线观看的免费网站无遮挡| 亚洲中久无码永久在线观看同| 国产成+人+综合+亚洲专| 欧洲人免费视频网站在线| 亚洲精品91在线| 四虎免费影院4hu永久免费| 亚洲人成电影院在线观看| 久久免费观看国产99精品| 亚洲六月丁香六月婷婷蜜芽| 日韩电影免费在线| 亚洲人成自拍网站在线观看| 亚洲三级高清免费| 美美女高清毛片视频黄的一免费 | 理论亚洲区美一区二区三区| 中文字幕无码播放免费| 亚洲精品亚洲人成在线观看麻豆| 免费鲁丝片一级观看| 亚洲人成电影网站久久| 亚洲一区二区精品视频|