By idea of Rob I make very simple qvw document:
Load Recno( ) as A, Rand() as B autogenerate(10000000);
Reload on my local notebook is about 25 sec long.
Reload on our huge servers is about 46 sec long ! (servers are iddling before starting reload).
Can other users respond how long is reloading this simple qvw on yours servers ?
19 sec in a notebook with Windows 7, 8 GB RAM and 8 CPU system threads, but my notebook is also faster than some of the bigger servers. See the my following post.
Just tried this test on my machine and it takes 9 seconds
Whilst I am using QV10 and using all cores (i7 920 cpu which has a clock speed of 2.67GHz), I would also mention that the bus speed between CPU and RAM is 1GHz so it should be fast....... not to mention having overclocked RAM :-)
Some of these servers are quite big and have lots of resources, but they are usually tailored to throughput and capacity rather than sheer response speed. A reload that is CPU heavy and is trying very hard to load things into RAM might take longer on a server that has a lot of cores but with lower clock speeds/specifications. However when scaling and serving hundreds of users it will do a better job than a small desktop with a single core running at 3.2GHz. Horses for courses.
I agree with Alex, makes no sense having better response times on laptop. We are experiencing this kind of behaviour in a customer right now, and I can tell you the customer is pissed off. We ran testing software on the server to discard any failure on hardware, the test did not show any failure, on the other hand I showed that the server was performing better on cpu intensive calculations and access to RAM, since the processor has a 4-memory-channel. I'm suspecting that the current implementation of QlikView has problems dealing with several cores and multi-threading, my theory is that probably the software is dividing the task into so many threads that the amount of actual work for every thread is little and the overhead of communication probably is over killing performance. On the other hand, it might not be QlikView itself, but the Windows scheduler that might not be ready to successfully allocate this type of tasks.
Disable CPU hyperthreading. Suppose there is sizeable amount of memory, so don't let Windows automatically manage the size of the pagefile. Use a fixed amount of pagefile, ex 2 GB. The old mantra swap = two times the memory does not apply for a tool called "in memory analytics"; you really need data to fit in memory.
To do a one-to-one comparison with laptop, limit QVS service from using all CPU cores from QEMC : System : Setup: QlikView Servers : Performance : CPU affinity. Choose same amount of cores as in the laptop. Use the Windows task manager to really see the rest of the CPU cores idle.
Hi Alex, we have tried disabling hyper threading and reducing the CPU affinity, the results we got were better but not really what we expected. We have run test in 5 different servers, so far we have had the best results on xeon quad core processors. The next step is try in another server with several quad core processors and see if the performance improve comparing the single quad core cpu architectures we had tried. I suppose having cpu with more than four cores mess up performance because of the shared cache memory, imagine every core trying to write on the shared buffer at once. Anyway, we will let you know how this issue ends.