Hallo,
Ich benutze CherryPy als ApplicationServer. Nun stellte sich mir folgende Frage: Wie sollte man am besten mit MySQL-Verbindungen umgehen, wenn die Website viele Zugriffe hat. Wann sollen verbindungen geöffnet werden?
Erstmal grundlegende Vorschläge:
a) Bei jedem request ne neue Verbindung aufmachen (uncool)
b) Eine Queue mit n Verbindungen machen und reusen
Ist MySQLdb threadsafe? Kann ich mir einfach immer eine connection aus der Queue nehmen und dann einen cursor erzeugen oder muss ich währendessen die Verbindung schützen (lock)?
Jan
Wie mit MySQL-Verbindungen umgehen?
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Jan!Jan.O hat geschrieben:CherryPy als ApplicationServer [...] mit MySQL
Lesestoff:
- http://tools.cherrypy.org/wiki/Databases
- http://www.python-forum.de/topic-11150.html
- http://www.python-forum.de/topic-11839.html
Noch Fragen?
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
ui, danke. Habe verstanden, wie ich es machen muss, danke. CherryPy hat ja echt ungeahnte möglichkeiten ^^.gerold hat geschrieben: Noch Fragen?
mfg
Gerold
Komisch, dass cherrypy.thread_data für jeden Thread einen verschiednen Inhalt hat. Verstehe nicht, wie das funktionieren kann...
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Jan!Jan.O hat geschrieben:Komisch, dass cherrypy.thread_data für jeden Thread einen verschiednen Inhalt hat.
Das hängt mit ``threading.local`` zusammen. Siehe: http://docs.python.org/library/threadin ... ding.local
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.