This is an old revision of the document!
Service Layer Konfiguration
Damit COBI.time stabil und performant läuft, muss das Service Layer ordentlich konfiguriert sein.
Leider ist die standardmäßig ausgelieferte Service Layer Konfiguration von SAP mangelhaft.
Konfiguration
Die Konfiguration muss als root direkt auf dem HANA Server geändert werden.
Zuerst sollte das Service Layer mit dem Befehl
systemctl stop b1s
gestoppt werden.
Danach in das Verzeichnis
/usr/sap/SAPBusinessOne/ServiceLayer/conf/
navigieren und sämtliche Node Member Konfiguration entfernen bis auf eine einzelne Node Konfiguration httpd-b1s-lb-member-50001.conf
:
Die Datei `httpd-b1s-lb.conf` editieren und sämtliche Balancer Member aus dem Proxy balancer entfernen, sodass nur noch eine Node im Proxy balancer angegeben ist:
<Proxy balancer://myCluster> BalancerMember http://localhost:50001/b1s route=node1 ProxySet stickysession=ROUTEID </Proxy>
Außerdem prüfen, ob es unter der RewriteEngine noch Rewrite Rules eventuell gibt. Die Rewrite Rules könnten auf alte Nodes zeigen. Der Log Eintrag sieht vermutlich so aus:
RewriteEngine on RewriteRule "^/ping/node0$" "/b1s/ping/node?ROUTEID=.node0&target=localhost:50001" [PT] RewriteRule "^/ping/node1$" "/b1s/ping/node?ROUTEID=.node1&target=localhost:50001" [PT] RewriteRule "^/ping/node2$" "/b1s/ping/node?ROUTEID=.node2&target=localhost:50002" [PT] RewriteRule "^/ping/node3$" "/b1s/ping/node?ROUTEID=.node3&target=localhost:50003" [PT] RewriteRule "^/ping/node4$" "/b1s/ping/node?ROUTEID=.node4&target=localhost:50004" [PT] RewriteRule "^/ping/node/(.*)$" "/b1s/ping/load-balancer?ROUTEID=.node$1" [PT]
Diesen Block muss man hiermit ersetzen:
RewriteEngine on RewriteRule "^/ping/node$" "/b1s/ping/node?ROUTEID=.node1&bouncecount=1" [PT] RewriteRule "^/ping/node/(.*)$" "/b1s/ping/load-balancer?ROUTEID=.node1" [PT] RewriteRule "^/ping/node2$" "/b1s/ping/node?ROUTEID=.node1" [PT]
Danach die Datei `httpd-b1s-lb-member-common.conf` öffnen und den Eintrag IfModule mpm_prefork_module wie folgt bearbeiten:
<IfModule mpm_prefork_module> ServerLimit 10 StartServers 10 MaxSpareServers 10 MaxClients 10 MaxRequestsPerChild 48 </IfModule>
Nun kann das Service Layer wieder gestartet werden mit dem Befehl: `systemctl start b1s`
Im Service Layer Control Center (`https://sap-server-ip:40000/ServiceLayerController`) sollte nun nur noch ein Node Member sichtbar sein.
Beispiel Service Layer Dateien (Nicht einfach kopieren und auf den HANA Server importieren): Example Service Layer Config Files.zip