Both machines are virtual servers, not on the same physical Hardware.
Are they at least on the same subnet? The only time I've seen network lag that bad in a 2-machine deployment was when the second server was being accessed across the WAN and not inside of a LAN.
Are you testing this isolated while nothing else is going on server-side?
EG all scheduled scripts, perform scripts on server, filemaker pro/go clients, etc... all disconnected?
Under activity can you see the xml session connected and taking a minute? Is it possible that any other action that is happening could be causing issues. For example one solution I worked on was performing the "exit application" script step after each basic find, causing the OnLastWindowClose action to fire every time and add ~15 seconds to each PHP call. This snowballed when a few hundred users connected at once.
yes both machines are on the same subnet.
The lag is all day as bad, even in the evening hours, when almost no clients are connected.
Some PHP scripts return sometimes error 502 'bad gateway'.
Have you tried running a packet sniffer on your network to see if something is blasting it with packets?
Supplementary to Mike: Round Trip Time (ping time) between the two servers. Not just once, but over time. How is it, have you measured?
And while virtual servers are absolutely OK, we have solutions running on VM's, you need to be sure that there are no problematic bottle necks, between them as covered so far, and especially on each of them.
And how is the performance with FileMaker clients (FileMaker Pro/Advanced or FileMaker Go) connected directly to the FileMaker DB Server?
I just sent 2000 Pings from
- WAN to the database server: average 8ms
- WAN to the webdirect server: average 8ms
- webdirect server to the filemaker server: average < 1ms, maximum 8ms. (There is one hope in between (the gateway itself).
The performance of the FileMaker Clients is good.
Then it is obviously not at network problem.
Here are some questions to make us able to continue:
- Can you make a local test on a suitable PC Server, a one machine setup for test. How is it working?
- Who is responsible for the Virtual machine*?
I am pretty sure that it is something in the VM setup that is causing the problems. On the worker/WPE or the DB server.
Very often the VM responsible person will claim that he/she has allocated so many processors, so much RAM etc. etc. etc. and that the VM is very fast.
But only very few VM responsible are in fact VM experts. Being a VM Expert is not a matter of reading the manuals. It involves deep understanding of:
- VM and virtualisation
- The actual server/application
And it is more complex than that because between each point there are deep interactions which change and affect each other.
In most cases it is a matter of hidden bottle necks in the VM setup.
Thus: The right way to test is to set it up on dedicated hardware/OS and test that it is working. Then you tell the VM expert "See, it is working, now you make sure that it is also working on the VM".
If the VM environment is not able to do this, it is a problem for the VM responsible.
*If working in a single machine setup it should work faster in a two machine setup.
Thank-you both for your help.
I will looking into it, and let you know.
(and open a new thread with a related question...)