PHP 7.2 mit OPcache Support (experimentell)

@bumaas: So sehe ich das auch - Ein Fix dafür kommt im nächsten Update :slight_smile:
@herbertf: Schon die Performance verglichen?

paresy

Hi Paresy,

auf meinem Hauptsystem (3804 Variablen) in einer W10x64-VM unter W2016-Hyper-V habe ich derzeit 99,61% Treffer und rund 2% weniger Prozessorlast (von 8% auf 6%):

Schönen Sonntag noch :slight_smile:

Läuft bei mir seit dem 28.3. absolut stabil und fehlerfrei. Trefferquote hat sich nach und nach auf nun 99,58% herangetastet. Die CPU-Last hat sich in etwa halbiert:

Aber irgendwas leakt bei dir Handles :eek: Ich würde vermutlich auf irgendeine der Sys_* Funktionen tippen…?

paresy

Habe ich aber auch… Pro stunde einer mehr.
Jetzt bei ca 1020. Geht aber auch dann mal wieder schlagartig auf ca. 900 runter.
Speichernutzung ebenso. von ~1,2GB auf ~360MB. Im Logfile nichts zu sehen, auch kein Neustart vom IPS. Einfach so :confused:

Michael

PS: Der Homematic-Socket steigt gelegentlich für 1-2 Sekunden aus, aber nicht zeitgleich zu dem RAM oder Handles Sprüngen.

In nennenswerter Größenordnung benutze ich eigentlich nur Sys_Ping und Sys_GetURLContent bzw. Sys_GetURLContentEx. Habt Ihr auf dem Zettel das irgendwann zu fixen? Immerhin zieht sich das Thema ja doch mittlerweile durch mehrere Major-Releases von IPS durch. Sonst wäre es eventuell konsequenter diese Funktionen zu streichen anstatt sie auf Dauer fehlerhaft im Befehlsumfang zu belassen.

Du meinst die Sys_* Befehle über alle Plattformen gleich anzubieten? Die beiden die du nennst sind soweit vollständig, oder?

Das mit dem Handle würde ich gerne korrigieren. Aber dafür müsste ich das irgendwie bei mir nachstellen können. Kannst du das eingrenzen?

paresy

@kronos: Es gibt wohl noch eine andere Methode womit man zumindest eine Idee bekommen kann, was dies für Handles sind. Magst du dir mal den Process Explorer besorgen (Process Explorer - Windows Sysinternals | Microsoft Docs), den als Admin starten und beim ips.exe Process CTRL+H drücken um den Handle View zu öffnen?

Dort solltest du vermutlich herausfinden können von welchen Handles übermäßig viel vorhanden sind.

paresy

Genau das habe ich auch vorhin gemacht.
Massig handel auf ips.exe.
Allerdings nichts auffälliges.
Nur einmal ganz kurz habe ich einen handel gesehen wo Ziel ungültig oder so stand.
Wollte heute abend noch mal mit den Application Verifiyer testen.
How to troubleshoot a handle leak? – Yong Rhee’s Microsoft Technet Blog
Michael

Kannst du aber eingrenzen von welchen Handles es ganz viele gibt? Es gibt da ja unterschiedliche Typen… Evtl. sieht man ja das zu viele Dateien offen sind oder so?

paresy

ca 80% sind zu ca. je 1/4 File, Thread, Event und EtwRegistration.
Bei den restlichen 20% sind ca 10% Semaphore und die letzten 10% gemischt.
Habe auch diverse SYS_* im Einsatz.

Wobei die Anzahl laut PRTG seit ca 0 Uhr nicht mehr signifikant gestiegen ist.
An die 3000 wie bei Kronos habe ich (noch) nicht.

Sobald ich etwas Zeit habe, schaue ich noch mal genauer. Probleme scheint es keine zu geben.
Michael

Hallo Paresy,

OPcache, wird das aktuell in 5 unterstützt?

Es ist in den Spezialschaltern drin und kann aktiviert werden. Natürlich noch experimentell und auf eigene Gefahr [emoji1]

paresy

Gibt es den bekannte Probleme, das es noch immer experimentell ist?
Bisher habe ich ja nur positives vernommen.
Michael

Ich habe das Thema mal in den Public Bereich verschoben. Mit dem 5.0 Release kann das Feature direkt in den Spezialschaltern aktiviert werden. Neustart nicht vergessen :wink:

paresy

Ich habe es aktiviert und es bringt aktuell ~5% CPU Last Gewinn :slight_smile:

Trefferquote 97,3%

Bin begeistert: :loveips:

Grüße Marco

Völlig genial - läuft bei mir jetzt seit ca. 48 Stunden:


Auch nett:

Und das ohne irgendwelche Macken - bisher ! :wink:

Danke, tolles Feature !

Genial, funktioniert mit 92% Trefferquote :slight_smile:

Ich habe den Cache wieder deaktiviert. Als er eingeschaltet war, gingen bei mir Events verloren. Hat eine Weile gedauert bis ich darauf gekommen bin, aber nach dem deaktivieren des Caches funktioniert alles wieder.

Eine detaillierte Beschreibung wie man nachstellen kann wäre super :smiley:
Michael