I did a quick session with process monitor , and have found the following.
The first couple of seconds are spent initializing registry entries, loading language locales, etc:
11/28/2013 11:20:57.6598746 AM <-- from
11/28/2013 11:20:58.9490299 AM <-- to
The it initializes the base python environment
11/28/2013 11:20:58.9490539 AM <-- from
11/28/2013 11:20:59.2099956 AM <-- to
Then it starts doing a weird thing where every dll it tries to load goes through all our site folders:
\S2\exchange\software\managed\pythonScripts\sitecustomize\System.Collections.Generic.Queue.dll
\S2\exchange\software\managed\pythonScripts\sitecustomize\System.Collections.Generic.Queue.exe
\S2\exchange\software\managed\pythonScripts\site-packages\System.Collections.Generic.Queue.dll
\S2\exchange\software\managed\pythonScripts\site-packages\System.Collections.Generic.Queue.exe
\S2\exchange\software\managed\pythonScripts\site-packages_2.6_64\System.Collections.Generic.Queue.dll
\S2\exchange\software\managed\pythonScripts\site-packages_2.6_64\System.Collections.Generic.Queue.exe
\S2\exchange\software\managed\pythonScripts\site-packages_configured\sip\windows_amd64_msc8_python26__4_8\System.Collections.Generic.Queue.dll
\S2\exchange\software\managed\pythonScripts\site-packages_configured\sip\windows_amd64_msc8_python26__4_8\System.Collections.Generic.Queue.exe
\S2\exchange\software\managed\pythonScripts\site-packages_configured\PyQt4\windows_amd64_msc8_python26__pyqt4_5_qt4_5_0\System.Collections.Generic.Queue.dll
\S2\exchange\software\managed\pythonScripts\site-packages_configured\PyQt4\windows_amd64_msc8_python26__pyqt4_5_qt4_5_0\System.Collections.Generic.Queue.exe
\S2\exchange\software\managed\pythonScripts\site-packages_configured\scl\windows_amd64_msc9_python26__qt4_7_1_internal\System.Collections.Generic.Queue.dll
\S2\exchange\software\managed\pythonScripts\site-packages_configured\scl\windows_amd64_msc9_python26__qt4_7_1_internal\System.Collections.Generic.Queue.exe
It does this for a lot of files:
System.Collections.Generic.SortedList.dll
System.Collections.Generic.SortedListKeyEnumerator.dll
System.Collections.Generic.SortedListValueEnumerator.dll
System.Collections.Generic.Stack.dll
etc
11/28/2013 11:20:59.1609886 AM <-- from
11/28/2013 11:23:22.7609421 AM <-- to
Then does more misc stuff, loading pyqt plugins, read write tests, loads a LOT of registry entries:
11/28/2013 11:23:22.7701618 AM <-- from
11/28/2013 11:23:24.8766566 AM <-- to
Then it queries all the repo folders (note that this is from a remote machine, so timestamps for this might be slower then usual)
11/28/2013 11:23:31.6968365 AM \inferno2.scanlinevfxla.com\deadline\repository6\custom\scripts\General
…
11/28/2013 11:23:54.4287151 AM \inferno2.scanlinevfxla.com\deadline\repository6\scripts\Limits
There are constant queries to the deadline server on port 27017 as well, some taking up to a second.
A big part of the tests it does is looking for plugins in the custom folder, it takes about 0.8 seconds each. For example for a single file:
Checking for \inferno2.scanlinevfxla.com\deadline\repository6\custom\plugins\MetaFuze
11/28/2013 11:24:17.0220626 AM <-- from
11/28/2013 11:24:17.7477641 AM <-- to
I guess this could be optimized by just caching what folders exist in that folder once, instead of checking for each plugin.
Then when the splash screen is stuck saying “Initializing main window”, all other traffic stops and i just see LOADS of small requests going to mongo, most packets are 1460 byte large. This takes a loooong time. It seems like its either loading all the slaves data, or all the jobs, not sure. The weird thing is, that i didn’t think the monitor loaded any jobs before its gui is displayed, since when the gui pops up, we see the number increment from 0-> to our actual job count slowly, by increments of about 200 or so.
This mass load took about 6 minutes:
11/28/2013 11:37:01.3586355 AM <-- from
11/28/2013 11:43:06.9335125 AM <-- to
Sidenote, the icon load time was (it loaded from the local C: drive, and i dont see any synchronization from the repository folders … weird):
11/28/2013 11:37:00.5720014 AM <-- from
11/28/2013 11:37:00.6811412 AM <-- to
After the monitor comes up, it still takes about a minute for all the jobs to appear, with constant traffic to mongo.
I have attached the full log as a csv file.
Logfile_monitor_launch.zip (1.99 MB)