日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

常見報錯

本文介紹在使用PTS過程中出現(xiàn)異常報錯的可能原因以及解決方案。

常見報錯信息

class java.net.ConnectException:null

表示請求在與遠(yuǎn)端(被壓測端)建立TCP連接時出現(xiàn)失敗或者被遠(yuǎn)端拒絕。請檢查后端服務(wù)器的健康狀況,或者網(wǎng)絡(luò)連接層是否存在瓶頸。

org.apache.http.ConnectionClosedException:Connection closed

表示連接異常關(guān)閉,服務(wù)端主動關(guān)閉了連接。

org.apache.hc.core5.http.ConnectionClosedException:Connection is closed

表示服務(wù)端關(guān)閉了連接,在已關(guān)閉的連接上發(fā)請求,導(dǎo)致此報錯。請檢查網(wǎng)關(guān)層帶寬、連接數(shù)是否存在瓶頸。

java.io.IOException:Connection reset by peer

表示連接被后端服務(wù)器重置。若使用了SLB,請檢查SLB的配置是否有問題。

org.apache.http.ConnectionClosedException:Connection closed unexpectedly

表示數(shù)據(jù)尚未接收完成,連接就已關(guān)閉。該報錯的可能原因是服務(wù)端未及時響應(yīng)或者提前終止調(diào)試或壓測。

java.lang.RuntimeException:java.net.UnknownHostException

表示域名信息無法解析。請檢查域名是否已注冊并且能夠正常解析,或者未注冊的域名是否已進行域名綁定。

org.apache.http.client.CircularRedirectException

表示請求出現(xiàn)了循環(huán)重定向的情況(A -> B -> C -> A),或者跳轉(zhuǎn)超過了10次(A1 -> A2 -> A3... -> A10 -> A11)。此時建議您取消302跳轉(zhuǎn)配置后,再次執(zhí)行壓測查看原始請求信息,同時您可以結(jié)合Timing瀑布流查看跳轉(zhuǎn)具體路徑。

  • 取消302跳轉(zhuǎn):在場景配置頁面關(guān)閉允許302跳轉(zhuǎn)的開關(guān)。vr

  • 在Timing瀑布流查看跳轉(zhuǎn)具體路徑:您可以在壓測報告的采樣日志詳情中查看Timing瀑布流。更多信息,請參見查看采樣日志。vr

org.apache.hc.core5.http.ProtocolException:Header 'key: value' is illegal for HTTP/2 messages

表示在服務(wù)端優(yōu)先使用HTTP2協(xié)議的情況下,場景配置了HTTP2協(xié)議不支持的Header,請移除相應(yīng)Header后重試。HTTP2不支持的常見Header有:Connection、Keep-Alive、Proxy-Connection、Transfer-Encoding、Host及Upgrade。

java.nio.channels.CancelledKeyException:null

表示在HTTP2協(xié)議下后端服務(wù)器主動斷開了連接,此時您需要排查服務(wù)端是否有問題。

java.util.concurrent.TimeoutException:null

連接階段超時,表示請求在與遠(yuǎn)端(被壓測端)建立TCP連接時出現(xiàn)失敗或者被遠(yuǎn)端拒絕。您可以結(jié)合Timing瀑布流查看連接階段是否花費了較長時間。如下圖所示,可以看到該Timing瀑布流中在連接階段花費了較長時間。此時請檢查服務(wù)端健康狀況,或者網(wǎng)絡(luò)連接層是否存在瓶頸。vt

org.apache.hc.core5.http2.H2StreamResetException:Timeout due to inactivity (5000 MILLISECONDS) * class

響應(yīng)階段超時,表示服務(wù)端請求響應(yīng)超時。PTS默認(rèn)請求超時時間為5s,如需延長該時間您可以在創(chuàng)建場景頁面的高級設(shè)置頁簽中自定義請求超時時間。更多信息,請參見通用設(shè)置。et

java.net.SocketTimeoutException:null

響應(yīng)階段超時,表示請求在等待響應(yīng)或者讀取中途(Idle)超時。請檢查服務(wù)端健康狀況或者壓測API的請求超時時間設(shè)置是否合理,此外也有可能是服務(wù)端處理能力出現(xiàn)瓶頸導(dǎo)致該報錯。

java.lang.RuntimeException: Could not find the TestPlan class!

JMeter腳本與PTS支持的JMeter版本不兼容,請使用JMeter 5.0版本編輯腳本。

java.lang.SecurityException: class "xxx"'s signer information does not match signer information of other classes in the same package

JMeter腳本中Java Sampler依賴的ApacheJMeter_core或ApacheJMeter_java版本與PTS支持的JMeter 5.0版本不兼容。請使用JMeter 5.0版本的依賴重新打包為Jar包后重試。

Attempt to resolve method: xxx() on undefined variable or class name:

JMeter腳本中BeanShell Sampler依賴的類沒有上傳,請上傳相關(guān)Jar包后重試。

class java.lang.IllegalArgumentException:forbidden uri, uri host must match vpc cidr pattern 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16

表示您當(dāng)前使用了VPC內(nèi)網(wǎng)壓測,但壓測URL中的域名解析結(jié)果為非內(nèi)網(wǎng)網(wǎng)段IP,這時您需要使用內(nèi)網(wǎng)IP進行壓測,或者登錄PTS控制臺配置DNS解析將域名映射至內(nèi)網(wǎng)IP。

常見響應(yīng)錯誤碼

403(Forbidden)

403狀態(tài)碼通常是因為您沒有該接口的訪問權(quán)限,而服務(wù)器端收到了請求但拒絕提供服務(wù)導(dǎo)致的。

可能原因1

您的服務(wù)器后端鑒權(quán)設(shè)置導(dǎo)致請求無法被接受,這種情況下是后端業(yè)務(wù)導(dǎo)致的該報錯。

解決方案:您需自行檢查業(yè)務(wù)的鑒權(quán)機制。

可能原因2

服務(wù)端網(wǎng)關(guān)有強校驗Header中的UA(User-Agent),對于帶有不合法UA的請求,返回?zé)o權(quán)限信息。PTS發(fā)起的請求中默認(rèn)的UA會帶有特殊字樣,以便部分業(yè)務(wù)來區(qū)分統(tǒng)計流量和限流規(guī)則。

解決方案

  1. 登錄PTS控制臺,在左側(cè)導(dǎo)航欄選擇性能測試 > 場景列表。

  2. 選中您的壓測場景,單擊操作列的編輯,在場景配置頁面的Header定義頁簽中添加一個通用的UA Header,如下所示。

    • key:User-Agent

    • Value:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36

    we

  3. 單擊調(diào)試場景,在請求詳情頁面查看請求是否正常。若修改UA后請求正常,則可以判定是UA校驗引起的該報錯,此時您可以通過修改UA來繼續(xù)壓測。c

可能原因3

被WAF攔截,通常情況下因被WAF攔截導(dǎo)致出現(xiàn)403報錯的可能性較小。

解決方案

如果需要有WAF白名單限制,請設(shè)置允許PTS流量通過的規(guī)則。具體操作,請參見PTS的壓測流量因安全策略無法直接訪問Web應(yīng)用,怎么辦?

可能原因4

壓測域名未備案,或者域名解析到了未備案的其他域名。

解決方案:您可以根據(jù)返回結(jié)果判斷域名是否備案。若出現(xiàn)403,且返回如下HTML信息,則是因為域名未備案導(dǎo)致的報錯,此時您需要先對域名進行備案。

<html>
<head>
<meta http-equiv="Content-Type" content="textml;charset=UTF-8" />
   <style>body{background-color:#FFFFFF}</style>
<title>TestPage184</title>
  <script language="javascript" type="text/javascript">
         window.onload = function () {
           document.getElementById("mainFrame").src= "http://****.aliyun.com/alww.html";
            }
</script>
</head>
  <body>
    <iframe style="width:860px; height:500px;position:absolute;margin-left:-430px;margin-top:-250px;top:50%;left:50%;" id="mainFrame" src="" frameborder="0" scrolling="no"></iframe>
    </body>
</html>

405(Method Not Allowed)

出現(xiàn)405報錯的可能原因有以下幾種:

  1. POST類請求出現(xiàn)302跳轉(zhuǎn)。由于302跳轉(zhuǎn)時會更改請求方法,此時服務(wù)端可能無法識別,則會返回405錯誤。

  2. 請求服務(wù)端直接校驗Method,對應(yīng)Response Header中會有Allow =GET的信息字樣。

  3. 負(fù)載均衡或者Web Server上做轉(zhuǎn)發(fā)時,修改了請求Method導(dǎo)致后端無法識別。

406(Not Acceptable)

表示客戶端錯誤,請求的資源其內(nèi)容特性無法滿足請求頭中的條件,因而無法生成響應(yīng)實體。

可能原因

在調(diào)試時,請求出現(xiàn)406報錯,一般是由于請求構(gòu)建的Header定義Accept字段設(shè)置錯誤導(dǎo)致的。fi

  • Accept:表示發(fā)送端(這里表示PTS)希望接受的數(shù)據(jù)類型。

  • Content-Type:表示發(fā)送端(這里表示PTS)發(fā)送的實體數(shù)據(jù)的數(shù)據(jù)類型。在PTS場景配置頁面的Body定義中設(shè)置的Content-Type會自動同步到Header定義中。如果Header定義中的Accept不符合事先約定的內(nèi)容,就會返回406錯誤。

ru

解決方案

您需要確認(rèn)服務(wù)端能夠驗證通過的Accept類型。您可以通過嘗試設(shè)置不同的Accept類型Value值來確認(rèn)服務(wù)端能夠驗證通過的Accept類型。以下是Accept的格式類型和匹配順序可供您參考。

表 1. Accept應(yīng)用規(guī)則

格式類型

格式類型

text/html

HTML格式

text/plain

純文本格式

text/xml

XML格式

image/gif

GIF圖片格式

image/jpeg

JPG圖片格式

image/png

PNG圖片格式

application/xhtml+xml

XHTML格式

application/xml

XML數(shù)據(jù)格式

application/atom+xml

Atom XML聚合格式

application/json

JSON數(shù)據(jù)格式

application/pdf

PDF格式

application/msword

Word文檔格式

application/octet-stream

二進制流數(shù)據(jù),例如常見的文件下載。

application/x-www-form-urlencoded

<form encType="">中默認(rèn)的encType,form表單數(shù)據(jù)被編碼為key/value格式發(fā)送至服務(wù)器(表單默認(rèn)的提交數(shù)據(jù)的格式)。

當(dāng)Accept頭有application/xml、text/html、application/json

將按照如下順序進行produces的匹配:

application/xml > text/html > application/json

當(dāng)Accept頭有application/xml;q=0.3、application/json;q=0.8、text/html

將按照如下順序進行produces的匹配:

text/html > application/json > application/xml

說明

application/xml參數(shù)為媒體類型的質(zhì)量因子,數(shù)字越大則優(yōu)先權(quán)越高(從0到1)。

當(dāng)Accept頭有*/*、text/*、text/html

將按照如下順序進行produces的匹配:

text/html > text/* > */*

503(Service Unavailable)

可能原因1

后端服務(wù)器業(yè)務(wù)量過載,因而拒絕接收請求。

解決方案:查看后端服務(wù)器上是否有相關(guān)的錯誤日志。

可能原因2

如下圖所示,您可以看到在PTS的采樣日志詳情中出現(xiàn)大量的503,但是后端服務(wù)器上卻沒有相關(guān)信息。fi

并且您的壓測場景信息中同時滿足以下幾種情況,則說明該報錯是SLB拋出的。

  • 接口是HTTP/HTTPS。

  • 壓測環(huán)境入口是SLB(不區(qū)分公網(wǎng)SLB或者私網(wǎng)SLB)。

  • 后端服務(wù)并沒有拋出503錯誤,甚至沒有任何記錄。

  • 503報錯信息與下面內(nèi)容相同:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html>
    <head><title>503 Service Temporarily Unavailable</title></head>
    <body bgcolor="white">
    <h1>503 Service Temporarily Unavailable</h1>
    <p>The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.</body>
    </html>

此時可能是由于壓測場景中發(fā)起壓力的源IP有限,單IP觸發(fā)了SLB集群的單Proxy限流導(dǎo)致該報錯;或者由于請求客戶端的Connection會默認(rèn)長連,當(dāng)IP較少時,導(dǎo)致SLB不能完全做到負(fù)載均衡。

說明

默認(rèn)長連指PTS端和您的服務(wù)端默認(rèn)會采用長連接的形式。

解決方案

其解決方案有幾種:

  1. 升級PTS資源包??赡苁悄徺I的PTS資源包版本可提供的源IP數(shù)量較少,無法滿足您的業(yè)務(wù)需求。目前PTS提供的9.9元體驗版資源包只有一個發(fā)起源IP,您可以升級資源包至其他版本以滿足壓測時所需的更多源IP數(shù)量。資源包版本的更多信息,請參見資源包計費版本。

  2. 使用PTS提供的IP擴展功能。具體操作,請參見擴展施壓機。

  3. 設(shè)置更高的目標(biāo)并發(fā)或者RPS。具體操作,請參見壓力模型。

  4. 在PTS場景配置頁面的Header定義中配置Connection:close請求,配置完成后新增的API會默認(rèn)使用該配置,您可以根據(jù)需要選擇是否修改。qr

504(BadGateway Timeout)

可能原因

網(wǎng)關(guān)后掛載的服務(wù)器響應(yīng)超時。

解決方案

請檢查后端服務(wù)器是否正常提供服務(wù),之后您可以延長網(wǎng)關(guān)處的超時時間或者在創(chuàng)建場景頁面的高級設(shè)置頁簽中自定義施壓機的請求超時時間。vr