We run a load balance with 3 Windows 2019 servers. One of them is the "master" one, serving SMB share to the other nodes, and it's also the server that Redis runs on (Redis used for sessions and cache). But this master srever is also a HTTP node.
Our problem is that on the master server, our website runs considerably faster than on the other nodes, it's 1 second of difference, pretty big.
In fact, the other (non-master) nodes have faster CPU, and on a PHP benchmark they perform better:
Master server (Redis, SMB, IIS):
PHP version : 7.4.16
Platform : WINNT
--------------------------------------
test_math : 0.396 sec.
test_stringmanipulation : 2.818 sec.
test_loops : 0.304 sec.
test_ifelse : 0.374 sec.
--------------------------------------
Total time: : 3.892 sec.
The other nodes:
PHP version : 7.4.16
Platform : WINNT
--------------------------------------
test_math : 0.311 sec.
test_stringmanipulation : 2.334 sec.
test_loops : 0.234 sec.
test_ifelse : 0.191 sec.
--------------------------------------
Total time: : 3.07 sec.
So it's definitely not a CPU issue, because the master node is slower. So it's either network, SMB or Redis issue.
I'm leaning towards Redis, because we use Wincache and Opcache for the nodes, so basically all .php files are cached locally for each node (SMB used only for revalidation every few minutes).
I do not know however how to find out where the bottleneck is exactly, and how to fix it.
Can anyone please help?
Thanks Alex