Page 2 of 3

Re: OPCache + JIT

Posted: Mon 29. May 2023, 23:19
by goldene-zeiten
OlliTheDarkness wrote: Mon 29. May 2023, 21:44
goldene-zeiten wrote: Mon 29. May 2023, 12:39 Im Grunde genommen liegen im FTP-Bereich des Benutzers die folgenden beiden Dateien mit folgendem Inhalt:

php.ini

Code: Select all

[general]
date.timezone=Europe/Berlin
max_execution_time=60
memory_limit=512M
expose_php=off

[memcache]
memcache.dbpath=/var/lib/memcache
memcache.maxreclevel=0
memcache.maxfiles=0
memcache.archivememlim=0
memcache.maxfilesize=0
memcache.maxratio=0
memcache.protocol=ascii
memcache.allow_failover=1
memcache.chunk_size=32768
memcache.default_port=11211
memcache.hash_function=fnv
memcache.hash_strategy=consistent
memcache.max_failover_attempts=20

[logging]
log_errors=on
error_reporting=32767
;error_log=/kunden/homepages/22/d847499369/htdocs/goldene-zeiten.info/typo3temp/var/log/php_error.log
Und eine .user.ini

Code: Select all

expose_php = Off
max_input_vars = 8192
short_open_tag = On
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED

zlib.output_compression = 1
zlib.output_compression_level = 9

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=15000
opcache.max_wasted_percentage=15
opcache.fast_shutdown=1
opcache.validate_timestamps=1
opcache.revalidate_freq=0
opcache.revalidate_path=0
opcache.max_file_size=0
;opcache.file_cache=/kunden/homepages/22/d847499369/htdocs/.opcache
opcache.file_cache_only=1
opcache.jit=1255
opcache.jit_buffer_size=100M
Hier

Code: Select all

...
[memcache]
memcache.dbpath=/var/lib/memcache
...
sei angemerkt, dass (wenn unverändert) die OBD greift und man entweder den Pfad in die Ausnahme nimmt oder besser einen Pfad nutzt auf welchen der User berechtigt ist zuzugreifen.

Ist ungetestet und eine reine Vermutung.

Des weiteren,

Code: Select all

opcache.jit=1255
bist du sicher das deine CPU die Unterstützung hat?

Weil wenn nicht, führt das zum "disable" und nicht wie man es vieleicht erwarten würde zu nem FallBack auf 0.
Darf ich dich noch kurz fragen, was du speziell zum "memcache.dbpath=/var/lib/memcache" Problem mit OBD meinst? Was müsste ich denn machen/einstellen, dass memcache einwandfrei läuft?

Re: OPCache + JIT

Posted: Tue 30. May 2023, 16:05
by goldene-zeiten
Und weil es so gut geklappt hat, wollte ich auch gleich noch den persistenten Opcode-Cache mit aktivieren:

--
opcache.file_cache=/home/users/blafasel/.cache/
--

Ich dachte also, ich kann den versteckten Ordner ".cache" einfach mit verwenden. Aber es wird beim File-Cache in phpinfo immer noch deaktivert angezeigt...

Re: OPCache + JIT

Posted: Tue 30. May 2023, 16:55
by Tobi
Lege einen neuen Ordner an und dann wird das schon.
Der Ordner „.cache“ ist nicht dafür gedacht.

Re: OPCache + JIT

Posted: Tue 30. May 2023, 17:06
by goldene-zeiten
Wäre ein Ordner innerhalb dieses Ordners zulässig oder soll ich generell auf der Ebene von den cashverzeichnis einen neuen Ordner anlegen?

Re: OPCache + JIT

Posted: Tue 30. May 2023, 17:14
by Tobi
Auf diesen Ordner hat nur der User, nicht aber Apache Zugriff.
Beantwortet das deine Frage?

Re: OPCache + JIT

Posted: Tue 30. May 2023, 17:31
by goldene-zeiten
Selbstverständlich tut es das. Aber demnach müsste ich ja den Cache Ordner innerhalb des WWW Verzeichnisses ablegen? Ich hätte den aber gerne auf der gleichen Ebene wie Cache hinterlegt.

Re: OPCache + JIT

Posted: Tue 30. May 2023, 19:20
by Tobi
Na und?

Bei mir sieht das beispielsweise so aus:

/home/users/tobi/www/webseiten/www.tobis-webseite.de/

Dann kann der Webseitencache problemlos in www/cache/ liegen. Alle nötigen Komponenten haben Zugiff, der Ordner ist auch bereits im include path, direkter Webzugriff ist nicht möglich und der Speicherplatz wird dem User angerechnet.
Kurz gesagt: Alles tutti!

Re: OPCache + JIT

Posted: Tue 30. May 2023, 20:35
by goldene-zeiten
Mit dieser Struktur kann ich auch leben, denn tatsächlich habe ich im www-Verzeichnis auch immer domain.abc und domain.xyz.

So gesehen habe ich auch die Struktur:
/home/users/benutzer/www/domain.abc
/home/users/benutzer/www/domain.xyz
/home/users/benutzer/www/.opcache

Also alles perfekt mit deinem Vorschlag. Aber leider funktioniert es trotzdem nicht:

--
Opcode Caching Up and Running
Optimization Enabled
SHM Cache Enabled
File Cache Disabled
JIT On
Startup OK
--

Re: OPCache + JIT

Posted: Tue 30. May 2023, 22:10
by goldene-zeiten
Wenn ich im Backend von KeyHelp die Zeile aus der php.ini eintrage, dann geht es:

--
opcache.file_cache="/home/users/benutzer/www/.opcache/"
--

Nun ist es aber so, dass ich es gerne in der php.ini individuell pro Webpräsenz des Benutzers festlegen möchte:

--
/home/users/benutzer/www/domain.abc (mit opcache und file_cache in php.ini definiert)
/home/users/benutzer/www/domain.xyz (ohne opcache und ohne file_cache, da kein Standard)
/home/users/benutzer/www/.opcache
--

Re: OPCache + JIT

Posted: Wed 31. May 2023, 10:14
by goldene-zeiten
Nun fällt mir noch eine Sache ein: vielleicht musst du es ja auch nicht in die php.ini eingetragen werden sondern in die .user.ini?

Re: OPCache + JIT

Posted: Wed 31. May 2023, 14:58
by goldene-zeiten
viewtopic.php?t=1785

Hier wurde ja das Thema auch thematisiert. Aber ich bekomme das mit dem opcache.file_cache nicht hin...

Re: OPCache + JIT

Posted: Wed 31. May 2023, 16:01
by tab-kh
Das wird meines Erachtens so nicht gehen. Außer, jede Webpräsenz des Benutzers benutzt eine eigene PHP-Instanz. Im PHP Manual steht jedenfalls:

Code: Select all

Name 			Default 	Changeable
opcache.file_cache 	NULL 		PHP_INI_SYSTEM 

Re: OPCache + JIT

Posted: Wed 31. May 2023, 16:15
by goldene-zeiten
Vielen lieben Dank für deine Rückmeldung und Mithilfe.

Also du würdest in KeyHelp unter "Zusätzliche PHP-Einstellungen" dann quasi unter anderem den folgenden Eintrag aktivieren, damit es läuft?

--
opcache.file_cache="/home/users/benutzer/www/.opcache/"
--

Mir ist aber aufgefallen, dass zwar das CRM (dann den Cache nutzt), nicht aber TYPO3. Das wäre meine nächste Frage gewesen. Und dann stellt sich noch die Frage, ob ich es z.B. für Development-Umgebungen im gleichen Benutzer dann verlässlich über die php.ini oder die .user.ini deaktivieren kann. Und vor allem: welche der beiden Dateien ist dann der richtige Ansprechpartner, wenn global beim Benutzer aktiviert ist, aber für andere Domains innerhalb des Benutzers der Cache deaktiviert sein soll?

Re: OPCache + JIT

Posted: Wed 31. May 2023, 16:27
by Tobi
Wie gesagt: php.ini und .user.ini funktionieren manchmal aber nicht immer. Manche Werte kannst du überschreiben, andere nicht.
Deswegen hatte ich immer nach phpinfo gefragt. Dort kannst du immer sehen, ob die Einstellung gesetzt wurde oder eben nicht.

Die empfohlene Methode ist aber die PHP Einstellung des Users im Panel.

Warum dein Typo3 manches anders sieht als dein CRM musst du die jeweiligen Entwickler fragen.

Re: OPCache + JIT

Posted: Wed 31. May 2023, 16:31
by mhagge
Also PHP_INI_SYSTEM heißt, dass es nur systemweit pro PHP-Version in der System-php.ini geregelt werden kann, d.h. die Einstellung gilt für den gesamten Server und lässt sich nicht per Nutzer irgendwo anders Aus- oder Einschalten. Die einzige (theoretische) Möglichkeit wäre, dass die Nutzer unterschiedliche PHP-Versionen nutzen, diese könnten natürlich unterschiedliche Einstellungen haben.

Ich würde die Finger davon lassen. Zwar sind sich alle Kommentatoren einig, dass es eine erhebliche Beschleunigung bedeuten kann, aber halt auch nur bei dafür geeigneten Scripten (die viel Rechenleistung erfordern, aber gleichzeitig keine oder nur wenig IO - MySQL-Zugriff, Plattenzugriff etc.pp - haben). Das ist verhältnismäßig exotisch. In normalen Web-Anwendungen wird man nur wenig bis gar keine Beschleunigung bemerken, weil hier die Verbindung zur Datenbank z.B. eher der Flaschenhals ist und ausbremst.