I am trying to simplify and rationalize my daily reloading schedule on a SBE Qlikview 11 server.
Presently, I have around 30 QVD generators (*.qvw) which generate QVD files. The first one is triggered when the database is ready to be selected (using EDX), then I scheluded the other ones using the following function "On Event from Another Task".
On the QMC, in the tasks module, it looks like this :
QVD_generator_1.qvw (on EDX)
QVD_generator_2.qvw (on Event from Another Task)
QVD_generator_3.qvw (on Event from Another Task)
QVD_generator_4.qvw (on Event from Another Task)
Consequently, only one QVD is reloading at the same time. I suspect that I could do better, at least, I could use the performance of the server better (16 Cores, 32 Go). What are the best pratices for this ? Should I parallelize some ? How can I know which ones should be parallelized ?
(on the QMC, System tab, I set 3 in the max concurrent reloads limit)
Last question, when the last QVD has been reloaded, I'd like to trigger the reload of each applications. How should I proceed ? (for now, they are triggered according to a specific time...)
Of course you can make reloads in parallel, as long as they do not access the same file at the same time, because that can cause file locks, and eventually corrupted files. So make sure that each task reads from different sources should they are running at the same time to avoid this.
For example, if you have a QVW that reads master data such as Customer, Vendor, Region, and another QVW that reads fact data such as invoices, shipping orders, then they can run in parallel. Of course, you can always store the same data in two different files, for the sake of performance so this allowing a task to read from Customers QVD twice at the same time.
In regards to the other question, when your last QVD has been realoded, you can trigger a task that depends on this one, so you don't need to specify any time for this.