2010-03-30 222 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,现在所有工作!