• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Tsung用于壓測MySQL服務器的腳本

    發表于:2013-10-22來源:外刊IT評論作者:淘寶褚霸點擊數: 標簽:壓力測試
    這個MySQL服務器壓測的需求是 :Tsung用于壓測MySQL服務器的腳本 環境: Linux RHEL 5U4 X86-64, 24G內存, 16核. MySQL服務器在10.232.36.100上。

      這個MySQL服務器壓測的需求是 :

      環境: Linux RHEL 5U4 X86-64, 24G內存, 16核.

      MySQL服務器在10.232.36.100上。

      壓力由最多32個客戶端發起,每個客戶端分別做update, insert, delete操作,概率分別是50%, 30%, 20%, 每種操作循環999999 × 100次,每100次操作后休息1-3秒。

      這樣的壓力最多持續2個小時。

      我們用的是著名的tsung壓力測試工具, 之前我有篇blog介紹過, 見這里。

      以下是用到的腳本, 用到了比較先進的隨機動態參數替換等技術,對于編寫此類腳本有很大的借鑒意義。

    以下是代碼片段:
    <!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
    <tsung loglevel="warning" dumptraffic="false">

      <clients>
        <client host="localhost" use_controller_vm="true"/>
      </clients>

     <servers>
      <server host="10.232.36.100" port="3306" type="tcp"/>
     </servers>

     <load>
      <arrivalphase phase="1" duration="2" unit="hour">
        <users interarrival="0.1" unit="second" maxnumber="32"></users>
      </arrivalphase>
     </load>

     <sessions>
      <session probability="50" name="st-replace" type="ts_mysql">

          <request>
            <mysql type="connect" />
          </request>
          <request>
            <mysql type="authenticate" database="test" username="test" password="mysqltest" />
          </request>  

          <for from="1" to="999999" var="counter">
            <for from="1" to="100" var="counter">
              <setdynvars sourcetype="random_number" start="1" end="999999999">
                <var name="rnd_uid" />
              </setdynvars>
              <setdynvars sourcetype="random_string" length="13">
                <var name="rnd_uname" />
              </setdynvars>
              <setdynvars sourcetype="random_number" start="0" end="1">
                <var name="rnd_male" />
              </setdynvars>
              <setdynvars sourcetype="random_number" start="1" end="120">
               <var name="rnd_age" />
             </setdynvars>
             <setdynvars sourcetype="random_string" length="10">
               <var name="rnd_city" />
             </setdynvars>
             <setdynvars sourcetype="random_string" length="52">
               <var name="rnd_profile" />
             </setdynvars>
             <request subst="true">
               <mysql type="sql">replace into user(tid, uname, male, age, city, profile) values(%%_rnd_uid%%, "%%_rnd_uname%%", %%_rnd_male%%, %%_rnd_age%%, "%%_rnd_city%%", "%%_rnd_profile%%") </mysql>
             </request>
            </for>
            <thinktime min="2" max="5" random="true" />
          </for>

          <request>
            <mysql type="close"></mysql>
          </request>
      </session>

      <session probability="20" name="st-delete" type="ts_mysql">

          <request>
            <mysql type="connect" />
          </request>
          <request>
            <mysql type="authenticate" database="test" username="test" password="mysqltest" />
          </request>  

          <for from="1" to="999999" var="counter">
            <for from="1" to="100" var="counter">
              <setdynvars sourcetype="random_number" start="1" end="999999999">
                <var name="rnd_uid" />
              </setdynvars>
              <request subst="true">
                <mysql type="sql">delete from user where tid = %%_rnd_uid%% </mysql>
              </request>
            </for>
            <thinktime min="2" max="5" random="true" />
          </for>

          <request>
            <mysql type="close"></mysql>
          </request>
      </session>

      <session probability="30" name="st-update" type="ts_mysql">

          <request>
            <mysql type="connect" />
          </request>
          <request>
            <mysql type="authenticate" database="test" username="test" password="mysqltest" />
          </request>  

          <for from="1" to="999999" var="counter">
            <for from="1" to="100" var="counter">
              <setdynvars sourcetype="random_number" start="1" end="999999999">
                <var name="rnd_uid" />
              </setdynvars>
             <setdynvars sourcetype="random_string" length="52">
               <var name="rnd_profile" />
             </setdynvars>

             <request subst="true">
               <mysql type="sql">update  user set profile = "%%_rnd_profile%%" where tid = %%_rnd_uid%% </mysql>
             </request>
            </for>
            <thinktime min="2" max="5" random="true" />
          </for>

          <request>
            <mysql type="close"></mysql>
          </request>
      </session>

     </sessions>
    </tsung>

    原文轉自:http://blogread.cn/it/article/2974

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>