Ich möchte eine Rate-Limiting-App mit Ruby testen, wo ich verschiedene Verhalten auf der Grundlage der Anzahl der Anfragen pro Sekunde definieren.Wie verwende ich Ruby, um eine bestimmte Anzahl von Aktionen pro Sekunde auszuführen?
Zum Beispiel, wenn ich 300 Anfragen pro Sekunde oder mehr sehe, möchte ich, dass es mit einem Block antwortet.
Aber wie würde ich das testen, indem ich 300 Anfragen pro Sekunde in Ruby erzeuge? Ich verstehe, dass es harte Beschränkungen gibt, die auf der CPU basieren, aber wenn ich die Zahl weit unter dieser Begrenzung belassen würde, wie würde ich immer noch etwas senden, das beide den Schwellenwert überschreitet und unter diesem bleibt?
Nur Schleifen N-mal garantiert mir nicht den Durchsatz.
Dies ist keine wirkliche Antwort auf Ihre Frage, aber das Ratelimit Juwel, https://github.com/ejfinneran/ratelimit oder drossel Warteschlange , https://github.com/ryancalhoun/throttle-queue, wird eine Inspiration sein. Im Grunde zählen sie die Anzahl der Anfragen innerhalb einer bestimmten Zeitspanne und verhalten sich anders, wenn Sie die festgelegten Grenzwerte überschreiten. –
Wir würden gerne Ihre Bemühungen sehen, um dies zu lösen. Ohne das sieht es so aus, als würden Sie uns bitten, ein Tutorial zu schreiben, ohne Ihr Fachwissen oder den dafür notwendigen Code zu kennen, die beide nicht zum Thema gehören. Bitte lesen Sie "[fragen]" und "[mcve]". –
Verstanden - Ich konnte keinen Ort finden, an dem ich anfangen konnte, außer einer Schleife, die nur die Anzahl der Ereignisse gezählt hat. Ich denke, diese Antworten geben mir einen Rahmen, um darüber weiter nachzudenken. – Angela