2016-10-10 26 views
0

私が持っているシステムは、3つの部分から成っています:CMS /タブレット(APP)/ MySQLデータベース。 CMSには、APPからのデータを処理し、データベースに保存してCMSに表示されるAPIがあります。MySQLのクエリを遅らせる可能性があります

問題:APPがAPIに約100個のエントリ要求(json)を送信します(ループ)。その後、APIは各要求を読み取り、要求ごとに10個以上の挿入照会をデータベースに送信します。

残念ながら、これらの挿入クエリの半分だけが通過し、残りは失敗します。しかし、1〜2回のリクエストを送信すると、挿入に数秒かかりますが、最終的にうまく動作します。

私は、MySQLの挿入クエリの遅延を引き起こす可能性があることを指摘できますか?

+0

あなたのアプリはAPIに百回のリクエストを送信すると言います。 APIがHTTPエンドポイントとして実装されているのかどうか、あなたは何も言いませんでした。また、要求がバッチで送信されるのか、または一度に1つずつ急速に送信されるのかについても言わなかった。また、APIリクエストでアプリがどのようにエラーとタイムアウトを検出したかについても触れていません。尊重して、それらのことを知らなければあなたの問題を理解することは難しいです。詳細を記入するために質問を編集してください。 –

+0

お返事ありがとうございます@OllieJones。 apiはHTTPエンドポイントです。 apiへのリクエストは急速に増えています。アプリは、API要求のエラーやタイムアウトを検出しません。 apiとcmsはPHPでコード化されています。 –

答えて

0

あなたのアプリが完了するか、返品状況を確認するのを待つことなく、Webエンドポイントに多くのリクエストを送信しているように聞こえます。

この場合、PHPプログラムを実行しているWebサーバーは、キューがいっぱいになるまで要求をエンキューしてから拒否します。待たずにエンキューや拒否について知ることはありません。

1つの要求の挿入に3秒かかる場合は、100要求に対して300秒(5分)かかるはずです。あなたのアプリはすべてのリクエストを完了するのに時間がかかります。それほど時間がかからなければ、おそらくステータスを待っていないでしょう。

通常のモバイルアプリでは5分の待ち時間が不愉快に長いことは明らかです。しかしそれは別の問題です。失われた要求の問題を解決したら、それを解決する必要があります。

関連する問題