mmofacts.com

Persistente DB-Connections

gepostet vor 16 Jahre von Phoenix1988

Hallo,

ich bin im Moment in der Planungsphase für mein Hobbybrowsergame.
Der Umfang der Möglichkeiten ist klar, die Datenbank steht und ich muss mich so langsam mit den technischen Details auseinandersetzen.

Ein Problem sind die Datenbankverbindungen. Mit persistenten Verbindungen lässt sich anscheinend viel Leistung sparen, aber genauso gut auch verschwenden. Ab wann sind persistente Verbindungen sinnvoll? Gibt es vielleicht einen kleinen Leitfaden den man beachten sollte?

gepostet vor 16 Jahre von TheUndeadable

> Ab wann sind persistente Verbindungen sinnvoll?

Eigentlich immer. Das Pooling des Datenbanktreiber sollte alles wesentliche übernehmen und auch deine Verwendung anlernen.

> Gibt es vielleicht einen kleinen Leitfaden den man beachten sollte?

Die Anzahl der möglichen, gleichzeitigen Webrequests sollte kleiner sein, als die der erlaubten Db-Verbindungen. Tust du dich nicht, könnte deine Db irgendwann dicht sein und du kommst selbst nicht mehr als Admin ran.

gepostet vor 16 Jahre von Phoenix1988

Ok, soweit hab ich alles verstanden. Ich habe auch noch nachgelesen auf php.net und bin irgendwie verwirrt.

Für die Datenbankkommunikation möchte ich PDO verwenden und dort auch die Transaktion verwenden. An anderer Stelle heißt es, keine persistenten Verbindungen wenn man Transaktionen nutzt. Das bedeutet für mich also, das ich im Idealfall persistente Verbindungen immer dann nutze, wenn ich keine Transaktionen benutze. Das ist aber her ein Ausnahmefall, soweit ich das bisher absehen kann. Ich bin jetzt unsicher, ob sich das ganze noch lohnt bzw. ob die wenig genutzen persistenten Verbindungen nicht die DB-Plätze belegen.

gepostet vor 16 Jahre von HSINC

man sollte sich im klaren darüber sein, das pers con eben nicht am scriptende geschlossen werden und somit transactions über scriptaufrufe hinweg aktiv sein können

gepostet vor 16 Jahre von Drezil

Original von HSINC

man sollte sich im klaren darüber sein, das pers con eben nicht am scriptende geschlossen werden und somit transactions über scriptaufrufe hinweg aktiv sein können

Wenn man den expliziten "COMMIT" bzw. "ROLLBACK" vergisst ;)

Auf diese Diskussion antworten