I wanted to share my ‘ChunkSize’ experience in case it helps someone at some point in the future. I’m running QV11 SR2 and called support with a corrupted QVPR. They helped me restore it, and noticed that my ‘ChunkSize’ was set to 100. They asked me to set the value to 20 and we ended the call (after restarting services). I noticed that night that my QVDS tasks all ran much slower – about 5x slower – than normal. I contacted support the next day and they reset the value back to 100. After a restart everything was back to normal again. The chunk size was the only system change that happened, and I’m certain it caused the performance hit.
ChunkSize can be found in the QV Management Service Config file:
C:\Program Files\QlikView\Management Service\QVManagementService.exe.config
<add key="QMSChunkSize" value="100"/>
Support said the version prior to mine (I won’t assume they mean QV11 SR1) had some issues with the chunk size being set high, so the solution was to lower it. This is why they told me to set it at 20. After I noticed my issues they asked around and found that my version was reported to work better with a larger setting (100).
Apparently the QVDS and the QVMS communicate via something called a work order (XML based perhaps?). The chunk size is the size of this message.
I figured I would share since I couldn’t find anything online about this setting.
Thanks for sharing, I was hoping someone would actually add some valuable information about this setting.
Workorders have been present in qlikview for a while, I guess is how the QlikView Management Service informs the Distribution Service when it has to execute each task. Workorders are stored in C:\ProgramData\QlikTech\ManagementService\Workorders.
You can actually force a workorder refresh here
But I had no idea about the chunksize setting, what happens if you set it to 200? will tasks work faster? what does that setting control?
Daniel – thanks for the response. Unfortunately, I won’t be able to test setting it to 200. I will add that the setting of 100 was default for my install. Also, when support mentioned they found ‘various errors’ in previous versions of QV when that value was set to high, they meant that tasks would fail with various error messages. I would guess that if you set that number too high you would start to experience the same symptoms. It would be interesting to see if you could increase performance, as you asked, by increasing the value. If you find out more please share.
Thanks for sharing it .Recently i faced one issue with our QlikView environment related to distribution service and most of solutions direct me to change chunk size.
I noticed, there is one more filed "MaxReceivedMessageSize".
As the name states message size , now i am confused with "Chunk Size".
Can anyone please explain the difference between Chunk Size and MaxReceivedMessageSize.
The QlikView Management Service (QMS) Chunk Size refers to how many tasks are sent from QMS to QlikView Distribution Service (QDS)/Publisher in what's known as the Workorder. Changing the Chunk Size value in the QVManagementService.exe.config file from the default value sets the number of tasks to be sent from QMS to QDS as a "chunk." A setting of 50 equals to 50 tasks being sent.
The QMS MaxRecievedMessage increases the limitation of message size in mb that QMS can receive from the other QlikView services.
So Chunk Size is specific and relates to the QDS Workorder of tasks and MaxRecievedMessage is a general setting for QMS governing the size of messaging that QMS receives.
Is it necessary to restart QMS or other services after making changes to QMSChunk size? We have many scheduled jobs in production and can not test this setting in non-prod environment. With 25, we had many task failure issue and with 75, CPU utilization going beyond 100% causing no RDP session availability.
I am thinking to adjust it to 50 and give a try. Have also made following changes in QDS setting file, not sure if its causing that issue.
<add key="ForceReadNotificationMilliseconds" value="20000"/>