我目前有一个交易虚拟物品的应用程序,每秒至少向主机服务器发出40个CFHTTP请求。
我遇到的问题是,我的CFHTTP调用需要400毫秒以上才能返回响应,这意味着我的应用程序错过了99%的交易,因为那里有很多其他竞争应用程序得到更快的回应。
我一直在努力找到这种情况的原因和/或解决方案,所以我在CF和C#中编写了一个脚本,每个脚本都有10个http请求计时,这导致了以下响应时间:
在使用以下浏览器的CF中:
在C#控制台应用程序中:
597,43,96,52,44,305,67,91,54,270 - 平均161.9ms
正如您所看到的,在C#控制台应用程序中进行HTTPWebRequest时存在很大的性能差异,这让我觉得CFHTTP请求可能受到限制?或者它可能与浏览器有关?
非常感谢任何帮助!
答案 0 :(得分:1)
我没有足够的评论,所以生病了。 您是否尝试过Java类来进行http调用?
obj = CreateObject("java", "org.apache.commons.httpclient.HttpClient");
get = CreateObject("java", "org.apache.commons.httpclient.methods.GetMethod");
header = CreateObject("java", "org.apache.commons.httpclient.Header");
obj.init();
tmp = get.init("http://google.com");
res = obj.executeMethod(tmp);
return res.response;