Page 1 of 3
OPCache + JIT
Posted: Sun 28. May 2023, 12:27
by goldene-zeiten
Liebe KeyHelp-Freunde,
ich habe für eine Webpräsenz über die php.ini (sozusagen für diese eine Webpräsenz) OPCache aktiviert:
--
[opcache]
zend_extension=opcache.so
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=0
opcache.validate_timestamps=1
opcache.revalidate_freq=60
opcache.revalidate_path=0
opcache.max_file_size=0
;opcache.file_cache=/kunden/homepages/22/d847499369/htdocs/.opcache
opcache.file_cache_only=1
opcache.save_comments=1
opcache.jit_buffer_size=256M
opcache.jit=1255
--
Wie man sieht, ist der Cache-Pfad deaktiviert. Ich war mir nicht sicher, welchen Pfad ich angeben soll. Aber es scheint mir, als ob das Caching trotzdem funktioniert. Nur wo werden bei einem fehlenden Parameter dann die Daten abgelegt?
Darüber hinaus habe ich ja versucht, auch den JIT zu aktivieren, da ich bereits PHP 8.2 auf dem Ubuntu 22.04 einsetze. Aber wenn ich in TYPO3 mir die php_Info-Einstellungen ansehe, steht bei JIT = deaktiviert. Demnach scheint der JIT nicht aktiv zu sein?
Viele Grüße von
Hahni
Re: OPCache + JIT
Posted: Sun 28. May 2023, 12:54
by Tobi
Re: OPCache + JIT
Posted: Sun 28. May 2023, 13:14
by goldene-zeiten
Den LInk auf den Thread verstehe ich leider nicht. Ich hatte hier nachgefragt und da hieß es ausdrücklich, dass die user.ini PHP-spezifische Einstellungen pro Webpräsenz enthalten kann. Der Thread aber zielt ja darauf ab, dass das nicht gut ist. Was ist denn nun richtig? Zudem fehlen mir ja auch die Infos zum JIT und dem Pfad für den Cache?
Re: OPCache + JIT
Posted: Sun 28. May 2023, 15:26
by Tobi
Sorry das hatte ich überlesen…
goldene-zeiten wrote: ↑Sun 28. May 2023, 12:27
Darüber hinaus habe ich ja versucht, auch den JIT zu aktivieren, da ich bereits PHP 8.2 auf dem Ubuntu 22.04 einsetze.
Hast du tatsächlich die PHP Version von Ubuntu 22.04 LTS auf Version 8.2 abgeändert?
Re: OPCache + JIT
Posted: Sun 28. May 2023, 15:40
by goldene-zeiten
Nein, ich habe die Version genommen, die man nachträglich über KeyHelp installieren kann.
Re: OPCache + JIT
Posted: Sun 28. May 2023, 19:10
by goldene-zeiten
Außerdem hatte ich die Anleitung so verstanden, dass grundsätzlich alle Module der jeweiligen PHP Version automatisch mit installiert sind, wenn man über das KeyHellp Panel eine neue Version nach installiert. Die Konfigurationsparameter habe ich letztendlich so gesetzt wie das in der Anleitung für PHP steht. Nun bin ich ein bisschen ratlos, wo ich noch suchen könnte.
Re: OPCache + JIT
Posted: Sun 28. May 2023, 19:58
by Tobi
Was zeigt denn phpinfo() an?
Re: OPCache + JIT
Posted: Sun 28. May 2023, 22:53
by goldene-zeiten
Mein PHP-Skript zeigt folgendes an:
Code: Select all
<?php
var_dump(opcache_get_status()['jit']);
?>
Ergebnis:
Code: Select all
array(7) {
["enabled"]=>
bool(false)
["on"]=>
bool(false)
["kind"]=>
int(5)
["opt_level"]=>
int(4)
["opt_flags"]=>
int(6)
["buffer_size"]=>
int(0)
["buffer_free"]=>
int(0)
}
Re: OPCache + JIT
Posted: Mon 29. May 2023, 12:39
by goldene-zeiten
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
Re: OPCache + JIT
Posted: Mon 29. May 2023, 14:22
by Tobi
Was ist in den PHP Einstellungen des Users hinterlegt?
Und (ich wiederhole mich), was sagt phpinfo()?
Re: OPCache + JIT
Posted: Mon 29. May 2023, 19:15
by goldene-zeiten
Wenn du die "Zusätzliche PHP-Einstellungen" im Kundenbereich meinst, dann steht da schlichtweg nichts in der TEXTAREA.
Und bezüglich phpinfo():
Code: Select all
Zend OPcache
Opcode Caching Up and Running
Optimization Enabled
SHM Cache Enabled
File Cache Disabled
JIT Disabled
Startup OK
Shared memory model mmap
Cache hits 6587528
Cache misses 167359
Used memory 128509960
Free memory 17208
Wasted memory 5690560
Interned Strings Used memory 6290992
Interned Strings Free memory 0
Cached scripts 4847
Cached keys 8569
Max keys 16229
OOM restarts 1
Hash keys restarts 0
Manual restarts 0
Directive Local Value Master Value
opcache.blacklist_filename no value no value
opcache.consistency_checks 0 0
opcache.dups_fix Off Off
opcache.enable On On
opcache.enable_cli Off Off
opcache.enable_file_override Off Off
opcache.error_log no value no value
opcache.file_cache no value no value
opcache.file_cache_consistency_checks On On
opcache.file_cache_only Off Off
opcache.file_update_protection 2 2
opcache.force_restart_timeout 180 180
opcache.huge_code_pages Off Off
opcache.interned_strings_buffer 8 8
opcache.jit tracing tracing
opcache.jit_bisect_limit 0 0
opcache.jit_blacklist_root_trace 16 16
opcache.jit_blacklist_side_trace 8 8
opcache.jit_buffer_size 0 0
opcache.jit_debug 0 0
opcache.jit_hot_func 127 127
opcache.jit_hot_loop 64 64
opcache.jit_hot_return 8 8
opcache.jit_hot_side_exit 8 8
opcache.jit_max_exit_counters 8192 8192
opcache.jit_max_loop_unrolls 8 8
opcache.jit_max_polymorphic_calls 2 2
opcache.jit_max_recursive_calls 2 2
opcache.jit_max_recursive_returns 2 2
opcache.jit_max_root_traces 1024 1024
opcache.jit_max_side_traces 128 128
opcache.jit_prof_threshold 0.005 0.005
opcache.lockfile_path /tmp /tmp
opcache.log_verbosity_level 1 1
opcache.max_accelerated_files 10000 10000
opcache.max_file_size 0 0
opcache.max_wasted_percentage 5 5
opcache.memory_consumption 128 128
opcache.opt_debug_level 0 0
opcache.optimization_level 0x7FFEBFFF 0x7FFEBFFF
opcache.preferred_memory_model no value no value
opcache.preload no value no value
opcache.preload_user no value no value
opcache.protect_memory Off Off
opcache.record_warnings Off Off
opcache.restrict_api no value no value
opcache.revalidate_freq 0 2
opcache.revalidate_path Off Off
opcache.save_comments On On
opcache.use_cwd On On
opcache.validate_permission Off Off
opcache.validate_root Off Off
opcache.validate_timestamps On On
Re: OPCache + JIT
Posted: Mon 29. May 2023, 20:13
by goldene-zeiten
Selbst wenn ich die Einstellungen direkt im KeyHelp-Panel hinterlege - insbesondere OPCache aktiviere als auch natürlich JIT, ändert sich nichts und JIT bleibt deaktivert.
Re: OPCache + JIT
Posted: Mon 29. May 2023, 21:44
by OlliTheDarkness
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,
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.
Re: OPCache + JIT
Posted: Mon 29. May 2023, 21:46
by Tobi
Bitte füge ans Ende der Datei "/opt/keyhelp/php/8.2/etc/conf.d/01-opcache.ini" folgende zwei Zeilen ein.
Code: Select all
opcache.jit=1255
opcache.jit_buffer_size=100M
Anschließend PHP8.2 neu starten.
et voilà!

- JIT.png (8.55 KiB) Viewed 2230 times
Re: OPCache + JIT [GELÖST]
Posted: Mon 29. May 2023, 23:17
by goldene-zeiten
Tobi wrote: ↑Mon 29. May 2023, 21:46
Bitte füge ans Ende der Datei "/opt/keyhelp/php/8.2/etc/conf.d/01-opcache.ini" folgende zwei Zeilen ein.
Code: Select all
opcache.jit=1255
opcache.jit_buffer_size=100M
Anschließend PHP8.2 neu starten.
et voilà!
JIT.png
Vielen lieben Dank, Tobi! Das hat mir weiter geholfen! Eigentlich hatte ich mir den Weg schon gedacht - war aber zu ehrfürchtig, etwas in den Konfigurationsdateien von KeyHelp zu ändern - vor allem auch, damit die Einstellungen nicht überschrieben werden...