<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)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日本黄页网址在线看免费不卡| 亚洲av日韩专区在线观看| 很黄很黄的网站免费的| 欧美激情综合亚洲一二区| 中文字幕不卡亚洲| 日韩电影免费在线观看中文字幕| 亚洲a视频在线观看| 日本高清免费网站| 免费观看91视频| 国产精品亚洲色婷婷99久久精品| 亚洲精品国产精品乱码在线观看 | 精品久久久久久无码免费| 亚洲网红精品大秀在线观看| 国内外成人免费视频| 成人免费ā片在线观看| 亚洲乱码一区二区三区国产精品| 在线观看午夜亚洲一区| 中国在线观看免费高清完整版| 中国一级特黄的片子免费| 亚洲无mate20pro麻豆| 亚洲AV无码专区电影在线观看 | 最近中文字幕高清免费中文字幕mv| 亚洲日韩国产欧美一区二区三区 | 国产成人精品久久亚洲高清不卡| 亚洲中文久久精品无码ww16| 成全高清视频免费观看| 久久精品乱子伦免费| aa午夜免费剧场| 亚洲爆乳成av人在线视菜奈实| 91亚洲精品视频| 国产成人亚洲精品青草天美| 在线免费观看韩国a视频| 999在线视频精品免费播放观看| 美女巨胸喷奶水视频www免费| 亚洲国产综合AV在线观看| 亚洲精品亚洲人成在线观看麻豆| 亚洲最大AV网站在线观看| 成年女性特黄午夜视频免费看 | 老司机亚洲精品影院在线观看| 777亚洲精品乱码久久久久久 | 曰曰鲁夜夜免费播放视频 |