2017-04-05 13 views
1

私のサーバーへの最初のhttp POSTリクエストに対する応答時間が遅いです。iOSネットワークでの最初のhttpリクエストが遅く、その後のリクエストがはるかに高速です。

これは、AndroidとiOSの両方のネットワークライブラリで発生します。 (AndroidではVolley、iOSではAlamofire)。

最初の応答はおおよそ0.7s-0.9sですが、その後の要求は0.2sです。

これは、セッションがサーバーによって保持されているため、各要求で新しいセッションを確立する必要がなくなったためです。

私は、アプリケーションがセッションを開始したときにダミーリクエストを行うことができますが、非常にエレガントではありません。

また、サーバー側(Node.js)も制御するので、設定を行う必要がある場合は試してみてください。

答えて

0

もう少し調べてみると、最初の「実際の」POSTリクエストを発行する前にhttps CONNECTリクエストを送信しようとしました。その動作は複製されます。

30秒後に接続が切断されます(おそらく、iOS URLSessionレベルでは、ロードバランサは接続を60秒間維持するように設定されています)。

理論的には、https接続の設定には複数(12個)のパケットが必要となり、私は大陸間接続を使用しているため、理にかなっています。

私の解決策は、ユーザーが定期的なリクエストを送信することを期待するときにCONNECTリクエストを送信することです。

関連する問題