Hallo zusammen,
ich wollte kurz meine Beobachtung teilen, weil es bei uns einen massiven Performance-Unterschied gemacht hat.
Wir hatten auf einem neuen Server mit Shopware 6.7.x und PHP 8.5 deutlich höhere Zugriffszeiten in Store-API/Product-Requests. Nach längerer Suche lag der größte Hebel nicht bei Shopware selbst, Redis, OpenSearch oder JIT, sondern offenbar beim aktivierten ionCube Loader.
Nur durch das Deaktivieren von ionCube haben sich die Zugriffszeiten bei uns ungefähr halbiert. Ein Product Store-API POST lag vorher beispielhaft bei ca. 400 ms und danach bei ca. 200 ms.
Kurz zur Einordnung: ionCube ist ein PHP Loader, der benötigt wird, wenn PHP-Dateien verschlüsselt bzw. encoded ausgeliefert werden. Das betrifft meistens kommerzielle Software oder Plugins. Shopware selbst benötigt ionCube meines Wissens nach nicht zwingend. Wenn aber ein Plugin encoded ist, kann es ohne ionCube natürlich zu Fehlern kommen.
Bei uns lief Shopware nach der Deaktivierung von ionCube weiter, inklusive der verwendeten Plugins. Trotzdem sollte man das natürlich vorher testen.
Deaktiviert wurde ionCube bei uns über die PHP-Konfiguration, indem die ionCube-INI-Datei umbenannt wurde, z. B.:
mv /opt/keyhelp/php/8.5/etc/conf.d/00-ioncube-loader.ini \
/opt/keyhelp/php/8.5/etc/conf.d/00-ioncube-loader.ini.disabled
Danach PHP-FPM neu starten:
systemctl restart keyhelp-php85-fpm
Prüfen kann man es z. B. mit:
/opt/keyhelp/php/8.5/bin/php -v | grep -i ion || echo "ionCube ist aus"
Rollback wäre entsprechend:
mv /opt/keyhelp/php/8.5/etc/conf.d/00-ioncube-loader.ini.disabled \
/opt/keyhelp/php/8.5/etc/conf.d/00-ioncube-loader.ini
systemctl restart keyhelp-php85-fpm
Mein aktueller Eindruck: In Kombination mit PHP 8.3.31/8.5, FPM und Shopware/Symfony kann ionCube ein erheblicher Performance-Bremser sein — auch dann, wenn es nicht offensichtlich als Ursache erkennbar ist.
Vielleicht hilft der Hinweis jemandem, der ähnliche unerklärliche Performance-Probleme nach Server-/PHP-Wechsel hat.