小さなデータセット(12x3配列)といくつかのパラメータを取り、少数のPythonモジュール(線形回帰計算など)を使用して計算を行うAzure Machine Learning Experimentを作成しました。これはすべて正常に動作します。Azure Machine Learning Requestレスポンスレイテンシ
私は実験を展開して、アプリケーションのフロントエンドからデータを送信したいと考えています。 API呼び出しが入り、正しい結果が戻ってくるが、単純な線形回帰を計算するのに30秒かかる。場合によっては20秒、時にはわずか1秒です。私は100ミリ秒に1回(これは私が望むものですが)それを得ましたが、要求が完了するのに要する時間の90%は受け入れられません。
私はそれがまだ実験中であるか、まだ開発用スロットに入っていると思いますが、より高速なマシン上で動作させるための設定が見つからないことがあります。
私の実行をスピードアップする方法はありますか?
編集:明らかにするために:同じタイミングで複数の同じリクエストを送信するだけで、さまざまなタイミングが同じテストデータで取得されます。これは、私の要求が待ち行列に入れられていること、始動待ち時間があること、あるいは何か他の方法で抑制されていることと関係があると結論づけました。
あなたの回答は[この記事](http://jiffie.blogspot.be/2015/10/trying-to-figure-out-azure-ml.html)と一緒に私に問題を理解させました。デフォルトでは、割り当てられた20個のコンテナーが割り当てられています。私は同時呼び出しをしていませんでしたし、かなり多く更新していましたので、私はそれらの冷たいコンテナのうちの1つを呼び出すのではなく、約30秒かかりました。一度すべての容器に当たった後で、あなたは速い応答を得ることが保証されます。テストのために、私は4つのコンテナにダウングレードしました。つまり、すべてのコンテナが暖かい4つの低速コールから始めます。 – JrtPec
ありがとう、私は記事を見直し、私が答えに欠けて何かを追加します。 –
しかし、これらの "クールな"コンテナは不便です。私がWebサービスを更新したとすると、クライアントが最初に行う20回のリクエストは非常に遅くなります(設定内の同時呼び出しの数によっては、さらに悪化します)。展開後にすべてのコンテナに「ウォームアップ」するよう指示する方法はありますか? – JrtPec