StackDriver gcloud log пропускная способность при записи

Я изучаю командную строку оболочки журнала gcloud, я начал с классического образца:

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

Он работает нормально, поэтому я проверил пропускную способность с помощью следующего кода, он работает очень медленно (около 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

person Avi Zloof    schedule 26.04.2016    source источник


Ответы (1)


Если вы предполагаете, что выполнение каждой команды занимает в лучшем случае около 150 мс, вы можете писать только несколько записей каждый раз. второй. Вы можете попробовать напрямую использовать API для отправки записей в пакетах. . К сожалению, в настоящее время командная строка может записывать только одну запись за раз. Мы рассмотрим добавление возможности писать несколько записей одновременно.

Если вы хотите быстро передавать большое количество сообщений, вы можете заглянуть в Pub/Sub.

person Vilas    schedule 26.04.2016
comment
Итак, если я правильно понимаю, с текущим ответом в 500 мс при использовании драйвера стека ограничение квоты не имеет значения, потому что у меня не будет возможности приблизиться к этому. Это проблема - person Avi Zloof; 27.04.2016
comment
Ответ 500 мс не является ограничением драйвера стека, это зависит от вашего интернет-соединения. В общем, когда вы делаете HTTP-запрос через Интернет, в лучшем случае это займет около 100 мс в зависимости от того, где вы находитесь и откуда обслуживается запрос. Вот почему вы хотели бы использовать пакетную или потоковую передачу, чтобы получить большую пропускную способность. - person Vilas; 27.04.2016