2010-07-29 4 views
7

Google-Dokumentation auf Bucket_size Parameter gibt nur eine brief definition, eine Wikipedia link und ein Beispiel:Google App Engine: bucket_size Parameter auf Task-Queues

bucket_size

Begrenzt die Diskontinuität der Verarbeitung der Warteschlange,
dh eine höhere Bucket-Größe erlaubt größere Spikes in die Ausführungsrate der Warteschlange. Für Beispiel, betrachten Sie eine Warteschlange mit einer Rate von 5/s und einer Bucketgröße von 10. Wenn diese Warteschlange für einige Zeit inaktiv war (so dass ihre "Token-Bucket" auf auffüllen), und 20 Aufgaben sind plötzlich eingereiht, wird es erlaubt, 10 Aufgaben sofort ausführen. Aber in die folgende zweite, nur 5 weitere Aufgaben können ausgeführt werden, weil der Token-Bucket wurde leer und wird bei der angegebene Rate von 5/s aufgefüllt.

Könnten Sie bitte eine Erklärung Bucket_size Parameter liefern und in welcher Weise dieser Parameter nützlich sein könnte?

Antwort

3

Die einfachste Art zu beschreiben ist, dass sie definiert, wie hoch ein Spitzenbedarf ist, den eine Warteschlange zulässt.

Zum Beispiel, wenn Sie eine Warteschlange für 5/s-Anfragen mit einem Eimer von 10 definieren. Dies bedeutet, dass es meistens mit einer Rate von fünf Anfragen pro Sekunde abschneidet, aber wenn es dazu kommt, erreicht es 10 pro zweite.

+0

Yep, das ist, was ich verstanden habe Lesen der Doc und Rate-Parameter-Dokumentation bestätigt dies mit "Je nach Bucket Größe, kurze Spitzen zu einer höheren Rate möglich sein kann." – systempuntoout

4

Die von Ihnen gepostete Erklärung ist ziemlich umfassend.

Die Aufgabenwarteschlange führt nur Aufgaben aus, wenn genügend Tokens im Bucket vorhanden sind, und füllt den Bucket mit der angegebenen Rate auf.

Möglicherweise möchten Sie eine niedrigere bucket_size verwenden, um beispielsweise das Erreichen der E-Mail-Kontingente pro Minute zu vermeiden oder um zu viele gleichzeitig ausgeführte Aufgaben zu vermeiden, die zum Verringern derselben Entitätsgruppen verwenden müssen Streit.

Ohne zu wissen, was Sie mit Ihren eigenen Aufgaben tun möchten, ist es schwierig, Vorschläge zu machen, wie Sie diesen Parameter einstellen könnten; Für die meisten Anwendungen ist die Standardeinstellung möglicherweise völlig in Ordnung.

+0

zu vermeiden, die per-minute E-Mail-Kontingente zu treffen ist nicht genug, um die Rate-Parameter zu setzen? – systempuntoout