我们有一个flex应用程序与我们的服务器进行通信。 flex应用程序会将很多HTTP请求(帖子和获取)发送到服务器,在很多情况下是并行的。Flex随机删除连接到服务器
我们一直注意到我们从flex应用程序中获得了许多断开的连接。
服务器根本没有看到任何失败的请求,并且没有加载。
我也怀疑flex可能是on-connection-drop,会自动重试POST或GET请求,导致我们的服务器接收到两次请求。
有没有人遇到过这种情况?
我该如何缓解这个问题?
我们有一个flex应用程序与我们的服务器进行通信。 flex应用程序会将很多HTTP请求(帖子和获取)发送到服务器,在很多情况下是并行的。Flex随机删除连接到服务器
我们一直注意到我们从flex应用程序中获得了许多断开的连接。
服务器根本没有看到任何失败的请求,并且没有加载。
我也怀疑flex可能是on-connection-drop,会自动重试POST或GET请求,导致我们的服务器接收到两次请求。
有没有人遇到过这种情况?
我该如何缓解这个问题?
我们有这样的问题,我们也找不到问题。搜索了很长时间后,我们发现我们的sqlserver被重载了(因为我们登录了许多信息到服务器)。现在我们登录到一个txt文件,一切正常。
我们的Flex应用程序是一个测试工具,350名考生(平均)同时参加考试。 webserver和sqlserver的负载非常高,因为每隔30秒就会将flex应用程序的状态保存到服务器(state =候选人正在处理的当前练习)。
我们没有任何问题,所以我猜你的问题不是flex应用程序。也许这是网络?
我们使用WebORB和amf远程调用。我们还有一个用于提取媒体的retrieveBlob.aspx处理程序。平均而言,当350名候选人开始会话时,会同时获取大约3500个媒体文件(通过服务器缓存)。在这种情况下,我们迄今没有任何问题。
我们实现的另一件事是一个后备系统,如果某个远程调用失败,flex将使用相同的参数再次调用它。如果再次失败,则向候选人显示一条错误消息,指出需要重新启动应用程序(并且完成恢复)。
Flex自动重试帖子或获取是我在应用程序中还没有看到的东西。
您正在使用哪台服务器? (我们使用Flex-Weborb-asp.net-sqlserver)。
我们在一个Tomcat前面使用了一个Java hibernate应用程序到MySql数据库 - 但是我们在服务器端看不到任何失败的请求,没有排队,并且响应时间非常好。 – Patrick 2009-11-26 21:39:26
另外,您的350个候选人是否与服务器在同一网络上?或者他们是否跨云? – Patrick 2009-11-26 21:42:39
以及您使用何种方法加载音频和图像?mx.controls.Image.load stringUrl)和flash.media.Sound.load(新的URLRequest(stringUrl))? – Patrick 2009-11-26 22:40:23
我遇到过这个问题,因为没有坚持引用加载对象(URLLoader
?),认为只要添加所有正确的事件监听器就足够了。它被垃圾收集并且无法完成。解决方案是将所有加载URLLoader
s的文件保存在一个根目录集合中,如字典,并在完成时删除它们。
你的问题可能是相关的吗?
我们INB特别是使用: mx.rpc.http.HTTPService发帖的 和 mx.controls.Image.load(stringUrl)加载图像 和 flash.media.Sound.load(新的URLRequest( stringUrl)来加载音频 – Patrick 2009-11-26 02:05:29
您是否有任何可复制的测试用例来复制该问题? – 2009-11-26 04:17:32
不幸的是,我们一直在试图查看它何时发生的相似之处,但我们找不到共同的分母 – Patrick 2009-11-26 21:40:43