Introduction
Users of SAP-B1 (v8.82) complained when our IT team switched the SAP server to a datacenter.
Migrated to a datacenter, and despite huge improvements ( increased number of processors, better frequency, memory, higher IO disks), SAP-B1 began to dissatisfy users.
Before, SAP-b1 server had a unique LAN-network card. The server didn't met any/specific trouble. Fast, responsive, accurate, the server did the job.
When users tried to login to SAP Business One, they found a long delay during start-up. All of them were affected. 3 minutes to get the login form, and 3 more minutes to get the main SAP-B1 window. (add a couple of minutes to start addons)
First, we thought that some kind of network slow down the process of SAP-B1 to locate the licensing server.
Despite searchs and googling, none of tips or recips pull through. Most of discuss try to resolve the same issues on the server side. 'disconnect/disable network cards and enable them after reboot, and so on...
In our situation, we haven't full admin access to the server. We are not allowed to reboot at will the production server, and we are forbidden to play with hardware tests.
Then I think that if everybody suffer the same pity behavior on SAP-B1 installations then nobody try to find a solution on the other side, on the computer of the final user. (Windows7 mainly)
I search and find a clean turn-around on slow starts of B1. It seems stupid but it rules wery well to our issues. Hope that yours too.
Some steps to solve slow starts of B1
- On the server side, enumerate and write down on a paper the list of network IP address.
all of them
. - On the client side, open a command with administratives right.
- ping each IP address of your list. Note those which fail!
-
adapt this next command to your configuration, where the field 'remoteip' contains IP which previously failed.
netsh advfirewall firewall add rule name="SAP Connexion" dir=out remoteip=10.xx.xxx.xx,10.yyy.yy.yy action=block
-
close the 'command windows' by
exit
. The state of the last command is permanent. - start your chronograph when double-click your SAP-b1, you will be surprised by the elapsed time!
Explanations.
In this case, the server has three network cards.
10.xx.xxx.xx ==> network for backup
10.yy.yyy.yy ==> network for administravive tasks
10.zz.zzz.zz ==> users network
Third IP is valid ('pingable') outside the datacenter. 'ping' on the others fails!
This a scenario when SAP client software start, on a computer outside the datacenter.
- start of the software client
- method call to the server 'give me the list of your network cards!"
- for each card in list do
- stuff with this card (time allowed 3 minutes max)
- exit loop and go further if return_code is OK
- endfor
Two of the three calls never respond. Timeout exception raise at each time. Then, the final user has to wait for a long time. You are lucky is the 'user network' is the first of the list. The process start quickly in this case. Anyway, you have no control to alter the list. That's why, sometimes, the start of B1 seem very fast and sometimes, very slowly. (After a monthly reboot of the server in our company. It's a random jackpot)
Now, with a firewall rule which block IPs, the response is always immediate. OK or KO. Users lose few milliseconds, but not precious minutes.
SAP B1 start in less than 20 seconds. Users are happy. The boss too.
Time is money. ;-)