# Performance-Killer open\_basedir

**URL:** https://forum.shopware.com/t/performance-killer-open-basedir/59574
**Category:** Programmierung
**Created:** [16. Mai 2019 um 10:45 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574 "2019-05-16T10:45:09Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![igalvezgil](https://avatars.discourse-cdn.com/v4/letter/i/a698b9/32.png) [@igalvezgil](https://forum.shopware.com/u/igalvezgil)
#### Post date: [16. Mai 2019 um 10:45 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574/1 "2019-05-16T10:45:09Z")

</div>

Hallo zusammen,

ich habe bei der Optimierung eines größeren Projekts die Ladezeit von über 5 Sekunden auf ca. **1 Sekunde** reduzieren können, einfach nur indem **open\_basedir** deaktiviert wurde!

Das stellte ich fest, als&nbsp;Tideways mir anzeigte&nbsp;dass **50% der Ladezeit** (TTFB) nur für File I/O investiert wurde. Hauptsächlich für „is\_readable()“, „file\_exists“ usw. &nbsp;Die meisten Abfragen fanden zentral in der Klasse „Enlight\_Loader“ statt.  
Dort habe ich dann zum Test einen rudimentären Cache und kleine Optimierungen eingebaut und konnte damit die Ladezeit schon auf 2 Sekunden reduzieren.

Im weiteren Verlauf habe ich rausgefunden, dass alle Abfragen wie file\_exists() von PHP gecached werden, aber NUR wenn open\_basedir inaktiv ist.  
Dieser Bug ist dokumentiert:&nbsp;[https://bugs.php.net/bug.php?id=77406](https://bugs.php.net/bug.php?id=77406)

In Enlight/Loader fanden insg. 30.000 Abfragen per file\_exists(), is\_readable() oder is\_dir() statt und ohne Cache hat sich das sehr negativ&nbsp;bemerkbar gemacht.  
Jetzt lädt die Seite im Schnitt in einer&nbsp;Sekunde!

Ich werde jetzt bei allen Projekten **darauf achten, dass „open\_basedir“ möglichst inaktiv ist**.

Wenn man nicht auf open\_basedir verzichten kann, dem sei diese Extension angeraten:

[https://github.com/Whissi/realpath\_turbo](https://github.com/Whissi/realpath_turbo)

&nbsp;

---

<div class="post-metadata">

### Author: ![n8lauscher](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/n8lauscher/32/13325_2.png) [@n8lauscher](https://forum.shopware.com/u/n8lauscher)
#### Post date: [19. Mai 2019 um 19:18 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574/2 "2019-05-19T19:18:07Z")

</div>

Darf ich fragen wie man dies deaktivieren kann?

---

<div class="post-metadata">

### Author: ![kulli](https://avatars.discourse-cdn.com/v4/letter/k/a3d4f5/32.png) [@kulli](https://forum.shopware.com/u/kulli)
#### Post date: [20. Mai 2019 um 03:43 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574/3 "2019-05-20T03:43:21Z")

</div>

Im dazugehörigen Server-panel oder per command line interface;

Bei plesk z.b. bei den PHP-Einstellungen.

Allerdings sollte man unbendingt wissen was man da tut, wenn man am Server rumfummelt: [https://php.net/manual/de/ini.core.php](https://php.net/manual/de/ini.core.php)

&nbsp;

---

<div class="post-metadata">

### Author: ![WernerBu](https://avatars.discourse-cdn.com/v4/letter/w/71c47a/32.png) [@WernerBu](https://forum.shopware.com/u/WernerBu)
#### Post date: [20. Mai 2019 um 05:39 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574/4 "2019-05-20T05:39:18Z")

</div>

Hallo Zusammen,

mmh, wir haben die Einstellung aktiv und eben /usr/bin/optipng:/usr/bin/jpegtran:… im Plesk eingetragen,

also die ganzen Optimierer, ohne die zumindest bei uns beim Import keine Bilder optimiert werden.

Müßte man dann wohl immer nachträglich per Console machen, nehme ich mal an, was ziemlich blöd ist.

Ist das aber wirklich so? Wir sind zwar nicht online mit dem Shop, aber Performance-Unterschiede

habe ich keine bemerkt, nachdem ich die eingetragen haben, werde aber mal die Zeiten messen.

Abgesehen davon wäre bei uns die Voreinstellung bei Aixpro {WEBSPACEROOT}{/}{:}{TMP}{/},

somit ist open\_basedir im Standard bei Aixpro ja immer aktiv, wenn ich das richtig sehe.

Irgendwie alles sehr unschön bei PHP… ☹

Viele Grüße,

Werner.

---

<div class="post-metadata">

### Author: ![Joscha\_Schultze](https://avatars.discourse-cdn.com/v4/letter/j/dbc845/32.png) [@Joscha\_Schultze](https://forum.shopware.com/u/Joscha_Schultze)
#### Post date: [20. Mai 2019 um 11:35 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574/5 "2019-05-20T11:35:05Z")

</div>

Ich betreue ein System, das auch deutlich langsamer war, als alle anderen Systeme, die ich so kenne. Die Ladezeiten waren unterirdisch. Auch hier hat die Abschaltung von open\_basedir einen enormen Geschwindigkeitsboost gebracht. Allerdings kenne ich etliche Systeme, die trotz open\_basedir sehr schnell sind. Ich glaube, dass die Abschaltung nur dort ein Muss ist, wo die Performance deutlich schlechter ist, als sie eigentlich sein sollte.&nbsp;

---

<div class="post-metadata">

### Author: ![netzperfekt](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/netzperfekt/32/7765_2.png) [@netzperfekt](https://forum.shopware.com/u/netzperfekt)
#### Post date: [20. Januar 2020 um 09:13 UTC](https://forum.shopware.com/t/performance-killer-open-basedir/59574/6 "2020-01-20T09:13:54Z")

</div>

Same here, @igalvezgil‍ DANKE!!!&nbsp;

Die Performance war bei einem HighTraffic-Shop mit aktiviertem open\_basedir mehr.als.unterirdisch (insbesondere nach Update auf SW 5.6).&nbsp;

open\_basedir = none hat im wahrsten Sinne die Rakete gezündet, ich kann es immer noch nicht ganz fassen (tideways von über 5 Sekunden auf ~500ms!)

Mal sehen, was der Hoster dazu meint. Ich verstehe schon den Zusammenhang mit dem realpath cache, aber so ganz klar ist mir nicht, dass das Problem  
entweder nicht viel häufiger auftritt (und somit auch bekannter sein müsste!) oder eben eine ganz spezifische Konstellation im Shop dazu führt.  
Oder alle Shops mit wirklich Traffic haben das ohnehin&nbsp; auf “none” stehen?
