[akabana-user:166] Re: 1ファンクションで複数のサービスをリクエストしたら…
KOMON Kazuya
[E-MAIL ADDRESS DELETED]
2007年 12月 26日 (水) 13:45:31 JST
本件、ちょっと空いちゃいましたが事の顛末です。
arkwさんと別スレッドでやりとりした結果、
S2Flex2Serviceクラスの428行目:
if (_con == null || !_con.connected)
の部分に問題があるということに至りました。
具体的には、現状のこの使い方は connected が文字通り「接続された」
という意味合いで使われています。しかしながら、NetConnectionのAPIに
よると、connectedは、
・永続的なRTMP接続を介して鯖に接続されたら→true
・それ以外の方法で鯖に接続されたら→false
ということになり、このままでは常にinitConnection();が動いてしまう
ことに気付きました。
よって、最新のs2flex2-componentsでは、if (_con == null) のみに
修正してもらっています。
で、その結果こちらで色々と試してみました。
結論から言うと、大幅に改善はされたが完全ではない、ということです。
酷いときは2度に1度くらいの割合で落ちていたのが
・HotDeploy時:平均100〜700回に1回(ばらつき多し)
・CoolDeploy時:平均1500〜4000回に1回(エラーを重ねるとだんだん安定してくるw)
という具合に改善されます。(しかし、まだ落ちる)
ちなみに、こちらもIEのみの現象となるのですが、IEのコネクション数
最大2つという問題なのかなと思って、1度に3,4つのリクエストを投げる
ものをやってみましたが、結果は2つの時と変わりありませんでした。
ということで、ひとまず現状の報告です。
>nobuさん
すみませんレス遅くなりまして。例外は出ないんですよー。
黙って、サーバはHTTP Status:200で返事をしているのに、
クライアントサイドにてNetConnetion.Call.Failedが出ちゃうのです。
以上
--- In message ---
2007/12/15 01:49
"nobu <[E-MAIL ADDRESS DELETED]>" wrote:
> 近藤(nobu)です。
>
> ずいぶん前のトピですが、症状同じですかね?
>
> ■ほぼ同時リクエスト?したときに例外が発生します
> http://ml.seasar.org/archives/akabana-user/2007-March/000100.html
>
> Hot DeployをCool Deployにしてみると大丈夫だったりしませんか?
>
>
>
> KOMON Kazuya さんは書きました:
> > 公門です。
> >
> > なかなか刺激的な罠を見つけてしまったかもしれません。
> >
> > 掲題の通りなのですが、Flex側で1つのファンクションの中に
> > 複数のJavaへのリクエストを書き実行すると、どちらかのレスポンスが
> > 落ちてしまうのです。
> > 但し、NetStatusEventの中身を見てみると、HTTP Status:200 なのです。
> > つまり、サーバは正常にレスポンスを返しているはずなのです。
> >
> > 色々と試したところ、どうやらマシンによって発生頻度が変わります。
> > うちの会社でためしたところ、
> > ・ThinkPad T42 では、各自メモリ量は異なるのですが、数十〜100回あたりの単位で発生
> > ・DELLのコアツー1.86Gでメモリ1.5Gでも、ヒドイときには2回に1回ぐらいで発生
> > てな具合で、要はクライアントマシンによって結構変わるということです。
> > とくにローカルでサーバ立ててるときよりも、他PCからやると頻度が高いです。
> > (逆にローカルサーバの場合、3000回やっても大丈夫でした)
> > →こんなところで、QTP for Flex2 が役立ったり(笑)
> >
> > ちなみに、FlashPlayerも 9.0.28, 9.0.47, 9.0.115 で試しましたが、
> > 有意性のある傾向はありませんでした。
> >
> > また、FireFoxではいまのところおこってません。
> >
> > というわけで、FlashPlayerを限りなく疑ってるところではあります。
> > このあと、FDSでも試してみようと思います。
> >
> > 添付に再現のMXMLとServiceを付けてみました。
> > もうちょっとこちらでも調べてますが、何かご存知の方がいらっしゃいましたら助かります。
> >
> > まずは、情報共有まで。
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > akabana-user mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/akabana-user
>
> _______________________________________________
> akabana-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/akabana-user
akabana-user メーリングリストの案内