I was interested to know, how it looks like in other environments.
I am kind of surprised by the fact o365 jobs takes around 3-4 hours to finish. Especially WriteInstalledInstallerEvidence is very time consuming (about 75% of total time).
May 23, 2019 08:33 AM - edited May 23, 2019 08:34 AM
"WriteInstalledInstallerEvidence" is part of the Writer. The Writer is combining data from all the attached data sources and is run after the reader(s).
I guess you might have more data in your system than just from O365. Can you draw a little picture, how many connections, inventories, etc. do you have?
May 23, 2019 09:44 AM
May 23, 2019 09:51 AM
I took some numbers from a little test environment.
Get Users Transferred 191 records Successfully processed in 12 seconds. Get Installer Evidence Transferred 68 records Successfully processed in 2 seconds. Get Licenses Transferred 18 records Successfully processed in 9 seconds. Get user allocations for licenses Transferred 327 records Successfully processed in 5 seconds.
Can you take these numbers from your log to see how they compare?
May 23, 2019 11:01 AM
I checked the log from staging phase and found the following:
Get user allocations for licenses Successfully processed in 3 seconds. Get Licenses Successfully processed in 0 seconds Get Installer Evidence Successfully processed in 0 seconds. Get Users Successfully processed in 1 second.
It doesn't look like they problem lays here. The next stage is much worse actually, especially
WriteInstallerEvidence Successfully processed in 54 minutes, 31 seconds
Where I received a warning
WARN Warning! The maximum key length is 900 bytes. The index 'IX_TempProductCodeRules' has maximum length of 1025 bytes. For some combination of large values, the insert/update operation will fail.
and ReconcileLicenses which took 2 hrs
May 24, 2019 04:10 AM
So it seems not to be related to the O365 reader part. Writing Installer Evidences is quite a complex step and unfortunately the log does not list how long the single steps take.
You could test the SQL statements from this part of the writer manually, but you would have to run other statements just to fill the temp tables for the actual statement.
And/or you could take a look at my comment here. It lists a few things to maybe check on your database.
May 24, 2019 07:06 AM