# Persistente Datenbankverbindungen

**URL:** <https://forum.shopware.com/t/persistente-datenbankverbindungen/54852>\
**Category:** Allgemein\
**Created:** [29. August 2018 um 07:37 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852 "2018-08-29T07:37:49Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![tourispo](https://avatars.discourse-cdn.com/v4/letter/t/a6a055/32.png) [@tourispo](https://forum.shopware.com/u/tourispo)\
**Post date:** [29. August 2018 um 07:37 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852/1 "2018-08-29T07:37:49Z")

</div>

Hallo liebes Shopware Forum,

ich habe ein vermeintlich leichtes Problem bei den Datenbankeinstellungen für Shopware. Wir würden gerne persistente Datenbankverbindungen nutzen um die Performance zu optimieren. Sämtliche andere System (z.B. Revive Adserver) die wir nutzen bieten eine Einstellungsmöglichkeit, um Datenbankverbindungen persistent zu machen. Normalerweise kann ich persistente Verbindungen auch ermöglichen indem beim Host ein p: vorgestellt wird, also z.B p:127.0.0.1 anstatt 127.0.0.1. Wenn ich dies allerdings in der config.php von Shopware mache, lädt die Seite nicht mehr. Ich finde auch keinerlei Infos zum Thema persistente Datenbankverbindungen mit Shopware bei Google & Co. Ich hoffe ihr könnt mir helfen.

Danke

Martin

---

<div class="post-metadata">

**Author:** ![Hammer](https://avatars.discourse-cdn.com/v4/letter/h/bc79bd/32.png) [@Hammer](https://forum.shopware.com/u/Hammer)\
**Post date:** [29. August 2018 um 07:46 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852/2 "2018-08-29T07:46:49Z")

</div>

Hallo Martin! Hier mein Tipp! Kümmert euch lieber erst mal um euer SSL-Zertifikat.

Eure Domain wird von 3 Browsern als nicht sicher eingestuft.

Im IE, in Chrome und Firefox.

Mein Tipp: Das Zertifikat ist auf eine …server.com Adresse ausgestellt.

---

<div class="post-metadata">

**Author:** ![msslovi0](https://avatars.discourse-cdn.com/v4/letter/m/b2d939/32.png) [@msslovi0](https://forum.shopware.com/u/msslovi0)\
**Post date:** [29. August 2018 um 09:40 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852/3 "2018-08-29T09:40:28Z")

</div>

Das leidliche Thema mit dem Umleiten von HTTPS. Ist eher einfach zu lösen, hilft Martin aber nicht bei seinem eigentlichen Problem, dass, soweit ich das auf die schnelle sehe, nicht so einfach zu lösen ist.

Laut Doku muss&nbsp;PDO::ATTR\_PERSISTENT direkt im Konstruktor übergeben werden, alle nachträglichen Aktionen, das noch zu setzen, sind nicht erfolgreich. Jetzt ist es aber so, dass in&nbsp;engine/Shopware/Components/DependencyInjection/Bridge/Db.php das setzen eines solchen Flags gar nicht vorgesehen ist.&nbsp;

Auch&nbsp;engine/Shopware/Configs/Default.php (dort sind alle möglichen Config-Flags gelistet) kennt für db kein persistent-Flag. Evtl. kann man noch was über die nicht dokumentiert Config-Variable ‚factory‘ erreichen, das hab ich mir aber nicht näher angesehen.

Matt

---

<div class="post-metadata">

**Author:** ![Hammer](https://avatars.discourse-cdn.com/v4/letter/h/bc79bd/32.png) [@Hammer](https://forum.shopware.com/u/Hammer)\
**Post date:** [29. August 2018 um 09:48 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852/4 "2018-08-29T09:48:56Z")

</div>

War auch nur ein gut gemeinter Tipp. Was nützt einem eine schnelle Performance, wenn die Besucher nicht auf die Seite kommen.

---

<div class="post-metadata">

**Author:** ![msslovi0](https://avatars.discourse-cdn.com/v4/letter/m/b2d939/32.png) [@msslovi0](https://forum.shopware.com/u/msslovi0)\
**Post date:** [29. August 2018 um 10:12 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852/5 "2018-08-29T10:12:44Z")

</div>

Wenn du dich durchgeklickt hättest wüsstest du, dass es gar nicht um die URL im Profil geht.

Matt

---

<div class="post-metadata">

**Author:** ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)\
**Post date:** [29. August 2018 um 12:38 UTC](https://forum.shopware.com/t/persistente-datenbankverbindungen/54852/6 "2018-08-29T12:38:57Z")

</div>

Hi,

persistente Verbindungen sind ja grundsätzlich ein zweischneides Schwert - ob das sinnvoll ist oder nicht hängt unter anderem von der Konfiguration deines Apaches / deiner PHP Worker, der Anzahl der Webserver und der Frage ab, ob die DB auf einem eigenen Server läuft oder nicht. Insofern würde ich das an deiner Stelle probeweise erstmal in die&nbsp;\Shopware\Components\DependencyInjection\Bridge\Db::createPDO patchen und prüfen, ob das überhaupt zum erhofften Ergebnis führt. Da haben wir auch schon mit experimentiert und hatten durchwachsene Ergebnisse.

Falls dein Test aber positiv ist, hast du ab Shopware 5.2.22 (wenn ich das richtig sehe) die Möglichkeit, in deinem Datenbank-Konfigurations-Array zusätzlich eine PDO-Factory zu hinterlegen:&nbsp;

```
 [
        'username' => 'root',
        'password' => 'geheim',
        'dbname' => 'shopware',
        'host' => 'localhost',
        'factory' => '\Namespace\deiner\PdoFactory',
     ]
];

```

In deiner eigenen PDO-Factory bekommst du dann ebenfalls die $dbConfig reingereicht und kannst dann quasi die Shopware-PDO-Factory nachbauen und zusätzlich den gewünschten Constructor-Parameter setzen.

Auch wenn das bewusst ein undokumentiertes Feature ist (insofern keine Gewähr dafür :)), hast du damit zumindest die Möglichkeit an die PDO-Factory zu kommen, ohne dass das bei jedem SW-Update überschrieben wird.&nbsp;

Besten Gruß

Daniel
