Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 久久99精品国产麻豆不卡,2021国产精品一区二区在线,亚洲免费视频网站

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          http接口壓測工具wrk

          http接口壓測工具wrk

          rk是一款簡單的HTTP壓測工具,當運行在單個多核CPU上時,它能夠產(chǎn)生巨大的負載。

          github:https://github.com/wg/wrk

          國內(nèi)鏡像: https://gitee.com/mirrors/wrk

          安裝:

          git clone https://github.com/wg/wrk.git
          cd wrk
          make
          # 將可執(zhí)行文件移動到 /usr/local/bin 位置
          sudo cp wrk /usr/local/bin

          查看版本:

          [root@node1 wrk]# wrk -v

          wrk 4.1.0-8-ga211dd5 [epoll] Copyright (C) 2012 Will Glozer

          Usage: wrk <options> <url>

          Options:

          -c, --connections <N> Connections to keep open

          -d, --duration <T> Duration of test

          -t, --threads <N> Number of threads to use

          -s, --script <S> Load Lua script file

          -H, --header <H> Add header to request

          --latency Print latency statistics

          --timeout <T> Socket/request timeout

          -v, --version Print version details

          Numeric arguments may include a SI unit (1k, 1M, 1G)

          Time arguments may include a time unit (2s, 2m, 2h)

          可以看到wrk的用法,相對來說比較簡單;

          接下來使用wrk來壓測下百度首頁,

          使用20個線程100個連接進行30s的壓測:

          wrk -t20 -c100 -d30s http://www.baidu.com

          壓測下本地的接口:

          wrk -t20 -c100 -d30s --latency http://127.0.0.1:9000

          以上是wrk的基本用法,還可以使用lua腳本進行個性化壓測,有興趣的可以研究下。


          原文鏈接:https://river106.cn/posts/3e707d63.html

          介:隨著互聯(lián)網(wǎng)安全規(guī)范的普及,使用 HTTPS 技術(shù)進行通信加密,實現(xiàn)網(wǎng)站和 APP 的可信訪問,已經(jīng)成為公認的安全標準。本文將介紹針對 HTTPS 協(xié)議做壓力測試的關(guān)注點,以及使用 PTS 做 HTTPS 壓測的技術(shù)優(yōu)勢和最佳實踐。

          作者:拂衣

          引言

          隨著互聯(lián)網(wǎng)安全規(guī)范的普及,使用 HTTPS 技術(shù)進行通信加密,實現(xiàn)網(wǎng)站和 APP 的可信訪問,已經(jīng)成為公認的安全標準。本文將介紹針對 HTTPS 協(xié)議做壓力測試的關(guān)注點,以及使用 PTS 做 HTTPS 壓測的技術(shù)優(yōu)勢和最佳實踐。

          常見的網(wǎng)站或者 APP 中需要做壓測的 3 種場景:

          • 新開發(fā)的系統(tǒng)或功能上線前需要了解其性能水位情況。
          • 對系統(tǒng)進行技術(shù)調(diào)優(yōu)、系統(tǒng)擴容前后通過壓測進行性能比對。
          • 參加平臺活動前對系統(tǒng)進行性能評估。

          什么是 HTTPS

          HTTPS 的英文全稱是:Hyper Text Transfer Protocol over Secure Socket Layer,它是以安全為目標的 HTTP 通道。從全稱上可以看出,它其實不是一種新的應(yīng)用層協(xié)議,只是 HTTP 協(xié)議將通信接口用 SSL 替代了 TCP。HTTP 協(xié)議中,應(yīng)用層 HTTP 直接與傳輸層 TCP 通信,在 HTTPS 協(xié)議中 ,應(yīng)用層 HTTP 與 SSL 通信,SSL 再與傳輸層的 TCP 通信,具體如圖:

          ?HTTPS 通過 SSL 層的加密,可以防止網(wǎng)站被篡改和劫持。下面我們簡單看下 HTTPS 是如何進行加密解密的:

          首先客戶端和服務(wù)端會協(xié)商加密算法和協(xié)議版本。協(xié)商結(jié)束后,服務(wù)端發(fā)送公鑰給客戶端,客戶端拿到公鑰后,生成一個隨機密碼串(Pre-master secret),并通過公鑰加密返回給服務(wù)端。服務(wù)端使用私鑰解密密文后,得到此隨機密碼串(Pre-master secret),之后通過協(xié)商的隨機數(shù)和加密算法,生成對稱加密密鑰。至此,雙方得到了同一個密鑰,后續(xù)使用此密鑰實現(xiàn)對稱加密解密。

          ?我們知道對稱加密性能更好,但只要持有密鑰,就能將劫持的密文解密,無法解決被劫持的問題。非對稱加密相對更安全,但同時加密解密性能開銷大。可以看出 HTTPS 在握手階段使用了非對稱加密,在后續(xù)的通信中使用了對稱加密,既保證了安全性,又最大限度保證了性能。

          HTTPS 壓測的關(guān)注點

          SSL 握手策略

          HTTPS 在握手階段有加密解密的過程,所以相比 HTTP 更消耗計算資源。壓測引擎為了模擬海量用戶執(zhí)行請求,往往底層會在全局或線程維度,復(fù)用 TCP 連接和 SSL 握手信息。這提高了施壓機的性能,但對希望每次循環(huán)模擬不同客戶端行為的場景來說,施壓機只模擬了足夠的流量壓力,并沒有模擬足夠的 SSL 握手計算壓力,可能造成壓力模擬不夠準確的問題,如下圖所示:

          ?因此,在 HTTPS 壓測中,需要根據(jù)壓測場景的具體業(yè)務(wù)邏輯,指定每次循環(huán)是否重置 SSL 握手狀態(tài),準確模擬 SSL 握手計算壓力。

          SSL 協(xié)議版本

          HTTPS 壓測,在客戶端(施壓機)和服務(wù)端進行 SSL 握手的第一步,客戶端會告知給服務(wù)端自己支持的最高 SSL 協(xié)議版本,然后服務(wù)端會從自己和客戶端支持版本的交集中,取最高的版本作為實際使用的 SSL 版本。

          在壓測時,需要評估出真實客戶端的主流版本,并配置到施壓引擎上。避免因 SSL 版本不同,造成 SSL 握手計算壓力模擬不準確。

          Why PTS—PTS 做 HTTPS 壓測的優(yōu)勢

          JMeter、Gatling、K6 等開源壓測工具對 HTTPS 有不同程度的支持。JMeter[1]支持配置循環(huán)是否重置 SSL 握手狀態(tài),并且支持配置客戶端 SSL 協(xié)議版本,但是默認不支持 HTTP2 協(xié)議。Gatling[2]默認每個虛擬用戶共享 SSL 上下文,不支持控制循環(huán)重置 SSL 握手狀態(tài)。K6[3]目前只支持設(shè)置 SSL 協(xié)議版本。

          PTS 作為云上壓測工具,支持如下 HTTPS 相關(guān)特性:

          • 支持 HTTP2
            HTTP2 相比較 HTTP1.1 性能大幅提升,且目前主流瀏覽器均已支持 HTTP2 協(xié)議。為了模擬真實客戶端,建議使用 HTTP2 協(xié)議。
          • 支持設(shè)置 SSL 握手策略
            支持配置循環(huán)是否重置 SSL 握手狀態(tài),可以根據(jù)業(yè)務(wù)場景,選擇是否重置。
          • 支持指定 SSL 協(xié)議版本

          使用 PTS 壓測,可以更真實的模擬客戶端發(fā)起的 HTTPS 壓力,使壓測結(jié)果更可信。

          How to—如何用 PTS 做 HTTPS 壓測

          設(shè)置 SSL 握手策略

          ?對于 HTTPS 壓測,在串聯(lián)鏈路每次循環(huán)時,需要選擇是否重置 SSL 連接狀態(tài)。如果選擇重置,在串聯(lián)鏈路每一次循環(huán)執(zhí)行時,會重新初始化 SSL 狀態(tài),這樣可以更準確模擬每次循環(huán)代表不同用戶的壓測場景,同時會對施壓機帶來一定的性能開銷。

          使用場景

          • 場景一:HTTPS 壓測,希望模擬 100 個用戶登錄,同時保持這 100 個用戶不斷重復(fù)訪問系統(tǒng)。此時串聯(lián)鏈路每次循環(huán)執(zhí)行,模擬的是同一個虛擬用戶的行為。應(yīng)將此開關(guān)置為“否”,然后設(shè)置并發(fā)數(shù)為 100。
          • 場景二:HTTPS 壓測,希望模擬 5 分鐘內(nèi),每個時刻都有 100 個不同用戶對系統(tǒng)訪問。此時串聯(lián)鏈路每次循環(huán)執(zhí)行,模擬的是不同虛擬用戶的行為。為了保證壓力模擬真實性,應(yīng)將此開關(guān)置為“是”,然后設(shè)置并發(fā)數(shù)為 100。同時因為打開此開關(guān)后,施壓機有額外的性能開銷,建議擴展施壓機IP數(shù)。

          設(shè)置 SSL 協(xié)議版本

          這里列出一些常用瀏覽器對 SSL 版本的支持情況供您參考:

          ?可以看出,主流瀏覽器在 2018~2020 年前后都支持了 TLSv1.3。因此,如果您的壓測場景模擬的客戶端較新,建議您選擇 TLSv1.3 作為 SSL 版本;相反,如果您的壓測場景需要模擬舊版本的瀏覽器客戶端,建議您選擇 TLSv1.2 作為 SSL 版本。

          如何錄制 HTTPS 流量

          各壓測工具都提供了基于代理的流量錄制工具,方便錄制下客戶端的流量,并快速構(gòu)建壓測腳本。對于 HTTPS 協(xié)議的錄制,除了配置代理,還需要信任證書,操作比較復(fù)雜。

          PTS 提供了免配置證書的錄制方案:瀏覽器插件,支持快速錄制 HTTPS 流量,解密并轉(zhuǎn)換為 PTS 壓測場景,同時支持導出為 JMeter 腳本,歡迎下載[4]使用,詳細操作可參考文檔[5]

          ?同時針對移動流量錄制,PTS 提供了云真機和本地設(shè)備 2 種方案。其中云真機已預(yù)置 PTS 代理配置,支持在瀏覽器操作手機,錄制流量,無需配置代理和證書,詳細操作可參考文檔[6]

          ?總結(jié)

          綜上,本文主要闡述了:

          • 什么是 HTTPS
          • HTTPS 壓測中的注意點
          • 如何用 PTS 做 HTTPS 壓測

          更多交流,歡迎進釘釘群溝通,PTS 用戶交流群號:11774967

          同時,PTS 全新售賣方式來襲,基礎(chǔ)版價格直降 50%!百萬并發(fā)價格只需 6200!更有新用戶 0.99 體驗版、VPC 壓測專屬版,歡迎大家選購!

          參考文檔

          [1] JMeter(官方文檔):

          https://jmeter.apache.org/usermanual/component_reference.html?spm=a2c6h.12873639.article-detail.4.6d4a7ca0EKzFeR#HTTP_Request

          [2] Gatling(官方文檔):

          https://gatling.io/docs/gatling/reference/current/http/ssl/

          [3] K6:

          https://k6.io/docs/using-k6/options/#tls-version

          [4] 下載(PTS HTTPS錄制器插件):

          https://chrome.google.com/webstore/detail/alibaba-cloud-pts%E5%BD%95%E5%88%B6%E5%99%A8/noonnhdncblnaknhoebaglpcihelliff

          [5] 文檔(PTS 錄制器使用文檔—Chrome 瀏覽器場景):

          https://help.aliyun.com/document_detail/187749.html

          [6] 文檔(PTS 錄制器使用文檔—Android 手機端場景):

          https://help.aliyun.com/document_detail/72519.html

          [7] PTS HTTPS設(shè)置文檔:

          https://help.aliyun.com/document_detail/143194.html

          原文鏈接:301 Moved Permanently

          本文為阿里云原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。

          heck Web Performance 測試下網(wǎng)絡(luò)性能

          下面都是一些在線的站點,可以嘗試看看,個人感覺還不錯。測試下網(wǎng)絡(luò)性能:

          https://www.17ce.com
          https://www.tingyun.com/tingyun_network.html
          https://gtmetrix.com
          https://tools.pingdom.com
          https://www.dotcom-tools.com/website-speed-test.aspx
          https://webspeedtest.cloudinary.com
          https://www.webpagetest.org
          https://www.dareboost.com/en/analysis

          學習兩個壓測命令:

          ab是apachebench命令的縮寫, 默認mac下都已經(jīng)安裝了

          ?  ~ /usr/sbin/ab --help
          /usr/sbin/ab: wrong number of arguments
          Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path
          Options are:
              -n requests     Number of requests to perform
              -c concurrency  Number of multiple requests to make at a time
              -t timelimit    Seconds to max. to spend on benchmarking
                              This implies -n 50000
              -s timeout      Seconds to max. wait for each response
                              Default is 30 seconds
              -b windowsize   Size of TCP send/receive buffer, in bytes
              -B address      Address to bind to when making outgoing connections
              -p postfile     File containing data to POST. Remember also to set -T
              -u putfile      File containing data to PUT. Remember also to set -T
              -T content-type Content-type header to use for POST/PUT data, eg.
                              'application/x-www-form-urlencoded'
                              Default is 'text/plain'
              -v verbosity    How much troubleshooting info to print
              -w              Print out results in HTML tables
              -i              Use HEAD instead of GET
              -x attributes   String to insert as table attributes
              -y attributes   String to insert as tr attributes
              -z attributes   String to insert as td or th attributes
              -C attribute    Add cookie, eg. 'Apache=1234'. (repeatable)
              -H attribute    Add Arbitrary header line, eg. 'Accept-Encoding: gzip'
                              Inserted after all normal header lines. (repeatable)
              -A attribute    Add Basic WWW Authentication, the attributes
                              are a colon separated username and password.
              -P attribute    Add Basic Proxy Authentication, the attributes
                              are a colon separated username and password.
              -X proxy:port   Proxyserver and port number to use
              -V              Print version number and exit
              -k              Use HTTP KeepAlive feature
              -d              Do not show percentiles served table.
              -S              Do not show confidence estimators and warnings.
              -q              Do not show progress when doing more than 150 requests
              -l              Accept variable document length (use this for dynamic pages)
              -g filename     Output collected data to gnuplot format file.
              -e filename     Output CSV file with percentages served
              -r              Don't exit on socket receive errors.
              -m method       Method name
              -h              Display usage information (this message)
              -I              Disable TLS Server Name Indication (SNI) extension
              -Z ciphersuite  Specify SSL/TLS cipher suite (See openssl ciphers)
              -f protocol     Specify SSL/TLS protocol
                              (TLS1, TLS1.1, TLS1.2 or ALL)
              -E certfile     Specify optional client certificate chain and private key
              

          ? ~ /usr/sbin/ab -n 100 -c 5 http://www.baidu.com/

          This is ApacheBench, Version 2.3 <$Revision: 1843412 $>

          Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

          Licensed to The Apache Software Foundation, http://www.apache.org/

          Benchmarking www.baidu.com (be patient).....done

          Server Software: BWS/1.1

          Server Hostname: www.baidu.com

          Server Port: 80

          Document Path: /

          Document Length: 280696 bytes

          Concurrency Level: 5

          Time taken for tests: 6.152 seconds

          Complete requests: 100

          Failed requests: 96

          (Connect: 0, Receive: 0, Length: 96, Exceptions: 0)

          Total transferred: 28187420 bytes

          HTML transferred: 28071381 bytes

          Requests per second: 16.25 [#/sec] (mean)

          Time per request: 307.617 [ms] (mean)

          Time per request: 61.523 [ms] (mean, across all concurrent requests)

          Transfer rate: 4474.20 [Kbytes/sec] received

          Connection Times (ms)

          min mean[+/-sd] median max

          Connect: 34 52 19.6 46 152

          Processing: 151 248 60.5 233 443

          Waiting: 37 57 20.6 51 151

          Total: 186 300 67.6 286 504

          Percentage of the requests served within a certain time (ms)

          50% 286

          66% 323

          75% 341

          80% 354

          90% 392

          95% 443

          98% 502

          99% 504

          100% 504 (longest request)

          推薦另一個個人感覺這個更好用一些

          brew search wrk

          ==> Formulae

          wrk ? wrk-trello

          brew install wrk 來安裝


          主站蜘蛛池模板: 亚洲AV无码一区二区三区电影 | 久久人妻av一区二区软件| 鲁大师成人一区二区三区| 99精品一区二区免费视频| 无码人妻一区二区三区精品视频| 亚洲综合无码一区二区三区| 亚洲国产精品一区二区久久hs| 亚洲日本一区二区三区在线不卡 | 国产精品亚洲午夜一区二区三区 | 国产日韩一区二区三免费高清| 激情久久av一区av二区av三区| 亚洲AV无码一区二区乱孑伦AS | 日本一区精品久久久久影院| 一本色道久久综合一区| 欧美成人aaa片一区国产精品| 消息称老熟妇乱视频一区二区| 国产色情一区二区三区在线播放| 亚洲第一区精品日韩在线播放| 亚洲A∨精品一区二区三区下载| 国产精品区一区二区三在线播放 | 无码精品一区二区三区在线| 武侠古典一区二区三区中文| 国产伦理一区二区三区| 国产伦理一区二区三区| 一区二区三区在线视频播放| 夜色阁亚洲一区二区三区| 精品免费AV一区二区三区| 亚洲片国产一区一级在线观看| 成人区人妻精品一区二区不卡网站 | 精品国产AV一区二区三区| 无码人妻一区二区三区一| 中文乱码字幕高清一区二区| 成人区人妻精品一区二区三区| 海角国精产品一区一区三区糖心| 蜜桃传媒一区二区亚洲AV| 波多野结衣在线观看一区二区三区 | 国产精品视频无圣光一区| 国产福利电影一区二区三区,免费久久久久久久精 | 精品一区二区高清在线观看| 亚洲av高清在线观看一区二区| 久久国产午夜精品一区二区三区|