2017-03-01 5 views
0

Ich erstelle eine Flask-Anwendung, die eine Verbindung zu einer Cloudant-Datenbank mithilfe der Python-Cloudant-Bibliothek herstellt.Flask Cloudant langsame Reaktionszeit

Meine Reaktionszeit, wenn ich nur connect-Anweisung hinzufügen (ohne Abfragen) kann überall von .4s bis 12s. Meine connect-Anweisung ist wie folgt:

Wenn ich den Verbindungscode entfernen, ist meine Reaktionszeit sehr niedrig.

Ich habe einen Profiler auf meinem System ausgeführt und es zeigt, dass die Erhöhung der Antwortzeit auf das Lesen eines SSL-Sockets zurückzuführen ist.

Ich habe auch versucht, das Standardbeispiel von IBM Bluemix Github und bekam ähnliche Ergebnisse für die Antwortzeit.

Ich verwende meine Flask-Anwendung mit dem integrierten Entwicklungs-Webserver. Ich habe versucht, eine Verbindung zur Datenbank vor jeder Anfrage herzustellen, und ich habe versucht, eine einzelne Verbindung zu haben, die wiederverwendet wird. Könnte diese Verzögerung auf meine lokale Maschine zurückzuführen sein? Und was würde es manchmal schnell machen und nicht andere? Andere Beiträge haben Probleme mit IPv6 oder DNS vorgeschlagen, aber ich denke nicht, dass dies der Fall ist.

Mit API-Aufrufe wie:

ddoc = DesignDocument(g.db, '_design/docs') 
g.myview = View(ddoc, 'my-view') 
g.myview(key=[somekey])['rows'] 

Ich habe bereits die Ansichten erstellt und werden durch die entsprechenden Schlüssel indiziert, so dass es nicht langsam aufgrund Indizierung ist.

Antwort

0

versuchen diesen Code zu verwenden, um Ihre Cloudant Datenbank zu verbinden:

def conn(user, pwd, db, **kwargs): 
    client = Cloudant(user, pwd, account=kwargs.get('host', user)) 
    client.connect() 
    database = self.client[db] 
+0

Kommentare sind nicht für längere Diskussion; Diese Konversation wurde [in den Chat verschoben] (http://chat.stackoverflow.com/rooms/137211/discussion-on-answer-by-porthunt-flask-cloudant-slow-response-time). –