我必須測試基於Jetty的服務器。該服務器可以使用自己的協議HTTP,HTTPS,最後開始支持SPDY。我有一些基於httplib
/http.client
的壓力測試 - 每個線程都以類似的URL開頭(查詢字符串中的一些數據是可變的),將執行時間添加到全局變量,每隔幾秒顯示一些統計信息。代碼如下所示:如何讓spydlay模塊像httplib/http.client一樣工作?
t_start = time.time()
connection.request("GET", path)
resp = connection.getresponse()
t_stop = time.time()
check_response(resp)
QRY_TIMES.append(t_stop - t_start)
客戶端與原協議股份合作httplib
API,所以connection
可以是天然的,HTTPConnection
或HTTPSConnection
。
現在我想添加使用spdylay
模塊的SPDY測試。但它的界面是不透明的,我不知道如何將它的不透明度改變成類似於httplib
界面的東西。我已經做了基於示例的測試客戶端,但第二個參數spdylay.urlfetch()
是類名稱而不是對象,我不知道如何使用它與我的測試。我已經爲我的課程的on_close()
方法添加了測試,它擴展了spdylay.BaseSPDYStreamHandler
,但它與其他測試不兼容。如果是實例,我會在spdylay.urlfetch()
之外使用它。
如何在基於httplib
接口工作的代碼中使用spydlay
?
Jetty還提供了一個SPDY客戶端,您可以使用它進行負載測試,請參閱:https://github.com/eclipse/jetty.project/blob/master/jetty-spdy/spdy-server/src/test /java/org/eclipse/jetty/spdy/server/SynDataReplyDataLoadTest.java。 – sbordet
我已經有SPDY客戶端工作:'spydlay'工作,但與'httplib'不同。這是我的問題,我想在我的測試應用程序中使用它,並且我希望它與其他客戶端類似。 –
@sborder - 我認爲你有關使用Jetty客戶端來測試Jetty服務器的想法:-)我會試試Jython。它可能比'spydlay'更容易使用,因爲它不使用本地庫。 –