2010-03-30 105 views
0

我向pylons服務器發送post請求(由paster serve服務),並且如果我以任何頻率發送他們,很多不會到達服務器。每次只有一個是可以的,但是如果我在幾秒鐘內發射了幾個(或更多),只有少數人得到處理。如果我發送沒有發佈數據或者獲得,它可以正常工作,但是在帖子字段中只放入一個字符的數據會導致巨大的損失。丟失發送到主塔paster服務器的'post'請求

例如,發送200,2就會回來。發送100個更慢,10個會回來。

我在Qt應用程序中發出請求表單。 TIS將工作OK(無數據):

的QString postFields = 「」 QNetworkRequest 請求(QUrl( 「http://server.com/endpoint」)); QNetworkReply * reply = networkAccessManager-> post(request, postFields.toAscii());

而這將導致只在請求的一小部分被處理:

的QString postFields = 「」 QNetworkRequest 請求(QUrl( 「http://server.com/endpoint」)); QNetworkReply * reply = networkAccessManager-> post(request, postFields.toAscii());

我已經接通use_threadpool周圍播放,和其他選項(threadpool_workersthreadpool_max_requests = 300),它的一些組合可以改變略微結果(最好的情況下在200 10級響應) 。

如果我向其他(非paster)服務器發送類似的請求,回覆會恢復正常,所以我幾乎可以肯定它的一個paster服務配置問題。

任何幫助或建議非常感謝。

感謝

菲利普

回答

0

您可以添加登錄貼紙/塔側準確地找到這些請求迷路?你確定QT應用程序是否正常工作,是否可以限制QNetworkRequest中併發連接的數量? AFAIR QT網絡使用單獨的線程來從線程池中分配連接。嘗試在QT端添加錯誤處理。

+0

謝謝。似乎Qt表現良好,因爲缺乏HTTP 1.1支持,這是服務器。 – 2010-03-31 11:51:24

1

感謝您的回覆。

跟蹤它是因爲paster服務僅支持HTTP 1.0,因此沒有響應100個代碼的初始請求。

切換到Apache,現在所有工作!