Long response time in Windows when accessing Databank DS
|
|
---|---|
Hello all, I have an annoying problem that occurs on my Windows Test PC. Namely, the response time of Jive and other Tango device servers is very bad when starting them in Windows. It does not matter whether DB DS is running in Windows PC, Ubuntu VM or Ubuntu PC. When e.g. starting LimaCCDs in the terminal, terminal freezes for 20 seconds befor anything happens. For TangoTest DS the same. As if a timeout has to expire first. My configuration: Windows 10: Tango installation with Conda/Mamba:
Network Configuration: two ethernet cards, first for access to university network and second for test setup. The 2nd card has multiple IP addresses.
The DB DS runs on Ubuntu 20.04 VM in .50. subnet:
The DB Server is MariaDB V10.3.38. The installation on Ubuntu VM is also with mamba:
Inside of VM or an Ubuntu PC reaction time is fast. Has anyone observed the same behavior and can give me a tip on how to fix the problem? |
|
|
---|---|
Hello AlexK, When running a device on Windows, do you also use the command
Where "TANGO_LISTENING_IP" is the IP address of the network card to be used to communicate with Tango ? In your particular case, the value of that variable shall be 192.168.50.222 as your Tango DB is running in 192.168.50.13 and your mask is 255.255.255.0
Guillaume DI FRANCO
Thales - Software Engineer Manager |
|
|
---|---|
Hello Hiro, thanks for the tip. Unfortunately, starting with explicit parameters did not improve performance. With the help from the Tango Slack channel tango-database and this post in the forum I found out that the delay is directly proportional to existing IP addresses. If I delete all IPs from my test card except .50.222 and disconnect the Uni network card, the Windows device servers immediately connect to DB DS. When I connect the Uni card, the delay is about 6sec and so on. I will try to configure the priority of ethernet adapters and IP addresses next week. May be it will solve the issue. |
|
|
---|---|
Hello AlexK I'm currently working exclusively with Tango on Windows and I have several network cards (multiple physical cards and also several virtual cards) with up to 7 IP set on each cards and I've only run into that kind of problem when not using the dedicated "giop:tcp:TANGO_LISTENING_IP:" parameter as my devices may be related to another network card (host IP is visible from Jive). Local Windows Firewall rules need also to be checked (if accessible)
Guillaume DI FRANCO
Thales - Software Engineer Manager |
|
|
---|---|
Dear Hiro, dear everyone, The problem is independent of the DS database. After a long debug session with Thomas Braun we found out that the problem lies in the way TANGO resolves hostnames, see here. Good news: we were able to find a simple solution: enable LMHOST lookup in NIC IP4 settings, and add a entry for each IP in the hosts file (…\windows\system32\drivers\etc\hosts\):
Restart NIC. However, the solution is not optimal and I hope that the problem will be solved with the next version. |
|
|
---|---|
@AlexK: I've created https://gitlab.com/tango-controls/cppTango/-/issues/1216 to summarize our findings. |
|
|
---|---|
Thank you! |
|
|
---|---|
Thanks to @AlexK for reporting the issue and @t-b for hunting it down and finding a solution. I am reminded of a similar behaviour in the early days of IPV6 on Linux where we also had strange delays and had to edit the hosts file. We will discuss this in the next kernel meeting to see if there is a way to avoid this happening. @t-b seems to have an idea! Andy |