[Mono-aspnet-list] Very slow website compilation
APS
dev.malst at apsystems.it
Fri Oct 2 06:22:49 EDT 2009
Hi,
I have a big issue on a web application I'm running using mod_mono
with Apache 2.
I have only one application configured and running it (with or
without batch compilation) I'm experiencing a very long delay waiting
for the application to compile.
I can see in logs that the assemblies inside bin directory is added
to domain the first time it's found, here is an example
Mono-INFO: Assembly Loader probing location:
'/var/www/hypersic/bin/templatelibrary.dll'.
Mono-INFO: Assembly Loader shadow-copied assembly to:
'/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/3c8e4077/5cab6a9f_60252ae8_00000001/templatelibrary.dll'.
Mono-INFO: Image addref templatelibrary 0x3367100 ->
/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/3c8e4077/5cab6a9f_60252ae8_00000001/templatelibrary.dll
0x3365ab0: 2
Mono-INFO: Assembly templatelibrary 0x3367100 added to domain
8ce83063, ref_count=1
Mono-INFO: Assembly Loader loaded assembly from location:
'/var/www/hypersic/bin/templatelibrary.dll'.
Mono-INFO: Config attempting to parse:
'/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/3c8e4077/5cab6a9f_60252ae8_00000001/templatelibrary.dll.config'.
Mono-INFO: Config attempting to parse:
'/usr/local/etc/mono/assemblies/templatelibrary/templatelibrary.config'.
Mono-INFO: Config attempting to parse:
'/var/www/.mono/assemblies/templatelibrary/templatelibrary.config'.
then it starts with web pages and every time it loads a new ascx/ascx
file there's a log like that:
Mono-INFO: Assembly Loader probing location:
'/tmp/apache-temp-aspnet-0/ddd13fb8/App_Web_6d545f95.dll'.
Mono-INFO: Image addref App_Web_6d545f95 0x2aaab828ebb0 ->
/tmp/apache-temp-aspnet-0/ddd13fb8/App_Web_6d545f95.dll 0x2aaab8229e00: 2
Mono-INFO: Assembly App_Web_6d545f95 0x2aaab828ebb0 added to domain
8ce83063, ref_count=1
Mono-INFO: Assembly Loader loaded assembly from location:
'/tmp/apache-temp-aspnet-0/ddd13fb8/App_Web_6d545f95.dll'.
Mono-INFO: Config attempting to parse:
'/tmp/apache-temp-aspnet-0/ddd13fb8/App_Web_6d545f95.dll.config'.
Mono-INFO: Config attempting to parse:
'/usr/local/etc/mono/assemblies/App_Web_6d545f95/App_Web_6d545f95.config'.
Mono-INFO: Config attempting to parse:
'/var/www/.mono/assemblies/App_Web_6d545f95/App_Web_6d545f95.config'.
Mono-INFO: Assembly Ref addref App_Web_6d545f95 0x2aaab828ebb0 ->
WebSicDotNet 0x11dbdd00: 3
after that it starts probing form System libraries and it apparently
it found them inside gac
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System/2.0.0.0__b77a5c561934e089/System.dll'.
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll'.
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll'.
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll'.
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System.Web/2.0.0.0__b03f5f7f11d50a3a/System.Web.dll'.
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System.Web.Services/2.0.0.0__b03f5f7f11d50a3a/System.Web.Services.dll'.
Mono-INFO: Assembly Loader probing location:
'/usr/local/lib/mono/gac/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll'.
after system libraries it starts looking for all the files in bin
directory and for every file it makes something like
Mono-INFO: Assembly Loader probing location:
'/var/www/hypersic/bin/APS.API.dll'.
Mono-INFO: Assembly Loader shadow-copied assembly to:
'/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/dcbea906/bc9b83ee_60252ae8_00000001/APS.API.dll'.
Mono-INFO: Assembly Loader probing location:
'/var/www/hypersic/bin/APS.BaseClasses.dll'.
Mono-INFO: Assembly Loader shadow-copied assembly to:
'/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/97cc1381/f7e93969_60252ae8_00000001/APS.BaseClasses.dll'.
Mono-INFO: Assembly Loader probing location:
'/var/www/hypersic/bin/APS.Chart.dll'.
Mono-INFO: Assembly Loader shadow-copied assembly to:
'/tmp/apache-temp-aspnet-0/ddd13fb8/assembly/shadow/f7c1e34a/97e4c9a2_60252ae8_00000001/APS.Chart.dll'.
and so on, for the thousands of files placed inside the bin directory.
It seems to me that there's some problem cause all the files seems
missing even if they are there and it always redo the copying.
Most of the loading time is spent in this multiple shadow copying, as
I have many assemblies inside bin directory this cause an heavy disk
usage and many minutes of wait.
It doesn't seems to be a correct behavior, an assembly should be
shadow copied only one time so I'm try to find out if it's a
mono/mod-mono-server bug or if it's due to some wrong configuration.
Please help me cause it a very big issue for my customers.
Thanks in advance.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-aspnet-list/attachments/20091002/d60bc020/attachment.html
More information about the Mono-aspnet-list
mailing list