Ich bin ziemlich neu zu erstellen Web-Services in Python. Ich habe einen Flask-Webdienst erfolgreich erstellt und mit Gunicorn ausgeführt (da Flasks eingebauter Server nicht für die Produktion geeignet ist). So laufe ich meine App (mit 4 Arbeiterknoten).Handle 1000 gleichzeitige Anfragen für Flask/Gunicorn Web-Service
gunicorn --bind 0.0.0.0:5000 My_Web_Service:app -w 4
Das Problem ist, dass dies nur 4 Anfragen gleichzeitig behandelt. Ich möchte, dass es in der Lage ist, potenziell Tausende von Anfragen gleichzeitig zu bearbeiten. Soll ich Multithreading verwenden? Irgendwelche anderen Optionen/Vorschläge?
sicher! Ich werde es versuchen! – Swapnil
Hallo, also habe ich versucht mit gevent Async-Arbeiter wie folgt: gunicorn --bind 0.0.0.0:5000 service: app -k gevent --arbeiter-verbindungen 1000 Dies funktioniert, aber es scheint immer noch eingehenden Anfragen der Reihe nach zu verarbeiten. Wenn ich zum Beispiel zwei Anfragen gleichzeitig übergebe und die Zeiten für jede Zeit protokolliere, beobachte ich, dass der Dienst eine Anfrage gleichzeitig bearbeitet und beginnt, eine weitere Anfrage zu bedienen, nachdem die erste erledigt ist. – Swapnil
Verstehst du, wie gevent funktioniert? Welche Art von Anfrage antwortest du? Wie profilierst du deinen Server? – Daniel