<address id="9d9v3"></address>
        <form id="9d9v3"></form><listing id="9d9v3"><nobr id="9d9v3"><progress id="9d9v3"></progress></nobr></listing>
          <noframes id="9d9v3"><form id="9d9v3"></form>

          <address id="9d9v3"></address>

          <span id="9d9v3"><nobr id="9d9v3"><meter id="9d9v3"></meter></nobr></span>
          <address id="9d9v3"></address>
          <form id="9d9v3"><nobr id="9d9v3"></nobr></form>

          直播帶貨服務

          服務器架構本質,服務器性能測試是一項比較繁瑣的事情

          服務器架構本質,服務器性能測試是一項比較繁瑣的事情

          服務器架構本質,服務器性能測試是一項比較繁瑣的事情

          服務器性能測試是一項比較繁瑣的事情,作為沒有做過性能測試的同學可能需要理清楚以下幾個事情。

          1.1. 協議分析

          首先是協議分析,性能測試本質上是我們用代碼來模擬真實的用戶請求,所以我們必須要知道發送出去的請求內容才能模擬。在典型的CS服務器中很多使用了protobuf,thrift,tdr(騰訊自研)來序列化以及反序列號請求內容。

          序列化之后一方面可以對數據進行壓縮處理,另一方面也避免請求內容明文傳輸造成被抓包·泄漏數據的危險。之前有過服務器傳輸數據的時候使用的是明文直接發送,而且這個數據是一些敏感的sql語句,這樣首先暴露了數據庫的表結構,同時不法分子可以通過模擬發包造成“脫褲”甚至是數據被清空。

          1.1.1. Protobuf

          谷歌出品,必屬精品。Protobuf使用起來很方便,學習成本非常低,而且序列化和反序列號的接口很容易使用。同時它相對于xml以及json,極大的的減小了數據占用的空間,減少了傳輸成本。目前支持包括C++,java以及python等多個語言。Protobuf目前用的比較多,打解包也很方便,比較推薦使用。

          1.1.2. Thrift

          Thrift是一個跨語言的輕量級rpc消息和數據交換框架。Thrift支持幾乎絕大部分主流的語言,包括C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk, and OCaml,雖然大部分我都沒有用過。相對于protobuf,thrift提供了全套RPC解決方案,包括序列化機制、傳輸層、并發處理框架等,也因為如此thrift的學習成本比較高。

          1.1.3. 騰訊自研協議tdr

          Tdr是騰訊自研跨平臺多語言數據表示組件,主要用于基于數據的序列化反序列化(支持二進制方式和XML文本方式)以及ORM數據存儲。廣泛用于互娛研游戲和部分代理游戲。在性能上基本和protobuf差不多,主要應用在C++程序中。

          在做服務器性能測試之前,我們需要了解它的協議是怎么定義的。

          服務器架構本質,服務器性能測試是一項比較繁瑣的事情

          1.2. 機器人管理

          本質上機器人管理就是一個調度控制器,在獲取需要發送的請求協議之后,需要有一個框架來管理所有的機器人,控制機器人的啟動,發送請求以及停止的動作??蚣艿倪x擇需要根據服務器的實際情況來,不同的業務場景,使用不同的框架產生的壓力上限也會不一樣。


          © Copyright 六六互聯.Some Rights Reserved.www.ic.vip
          真正国产乱子伦高清对白