0

私は gcloud log shell コマンドラインを調べています。私は古典的なサンプルから始めました:

gcloud beta logging write --payload-type=struct my-test-log "{\"message\": \"My second entry\", \"weather\": \"aaaaa\"}"

それは正常に動作するので、次のコードでスループットを確認しました。その動作は非常に遅いです (1 秒あたり約 2 レコード)。これが最善の方法ですか?

ここに私のサンプルコードがあります

tail -F -q -n0 /root/logs/general/*.log | while read line
do
    echo $line
    b=`date`
    gcloud beta logging write --payload-type=struct my-test-log "{\"message\": \"My second entryi $b\", \"weather\": \"aaaaa\"}"
done
4

1 に答える 1

2

各コマンドの実行にせいぜい約 150 ミリ秒かかると仮定すると、毎秒ほんの一握りのエントリしか書き込むことができません。API を直接使用して、エントリをバッチで送信してみることができます。残念ながら、コマンド ラインは現在、一度に 1 つのエントリしか書き込むことができません。一度に複数のエントリを書き込む機能を追加することを検討します。

大量のメッセージを高速にストリーミングしたい場合は、Pub/Subを検討することをお勧めします。

于 2016-04-26T20:57:59.723 に答える