Ich habe IPS auf einer WIn10-Box laufen (32 GB RAM), und einen webserver auf einer Virtual Machine (Hyper-V, Arch Linux, Nginx). Physisch liegt alles auf der gleichen Hardware; die VM und der Host sind via Hyper-V Virtual Switch verbunden. Die VM hat ihren eigenen Ethernet-Anschluss (1GB/s) Der Webserver holt sich die Daten von 40 Enocean-Kontakten über JSON-RPC.
Nun, anscheinend braucht die Abfrage von 4 IPS-Variablen ziemlich viel Zeit. Folgender Snippet
$ReedObject = IPS_GetObject($modulId);
$ReedState['ParentID'] = IPS_GetName($ReedObject['ParentID']);
$ReedChild = IPS_GetChildrenIDs($modulId);
$ReedChildVariable = IPS_GetVariable($ReedChild[0]);
dauert zwischen 270 und 320 ms. Wenn ich das 40-mal schlaufen lasse, wird es also kritisch - denn es geht ewig bis die Webseite aufgebaut wird.
Meine Frage ist: lässt sich eventuell etwas daran schrauben? Liegt das Nadelöhr an der VM, oder am Hyper-V-Switch, oder an IPS? (hoffentlich nicht!) Oder ist JSON-RPC bei anderen Tasks auch so langsam? Was meint Ihr?