E
Erik Noren
I have a large project which includes many views (around 20) and contains
event handles on every drop down list. The schema is also very large. The
project is deployed in a well-managed intranet environment containing
desktops and laptops that are all very similar in architecture and resources.
The problem I am encountering is inconsistent load times between systems.
The project is published to different servers (a production and a test
server) whose configurations are identical except for the versions of
in-house software on those systems.
Generally, users will only use the version published to production. However,
some users notice upon opening the project (and has been verified personally)
that the project takes upwards of 5 minutes to load despite the fact that the
system is sitting idle for 80% of that time (no network, CPU, memory or disk
activity at all.)
The same user can pull down the published version on the Test server
(published just after Production's publish without any code alteration at
all. The only step involved is re-signing the project and starting the new
publish) and open the project in just around 1 minute. Altering a minor
aspect of the project and re-signing and re-publishing has the same effect.
The production version is slow and the test version is not (though, again,
they are the same version just published to two different servers.) The minor
changes are reflected in both projects verifying that updates are taking
place for both projects.
Most users experience no problems with either version, a couple seem to hang
with Production's version and not Test's version while another user had a
problem with Test's version but not Production's! (Now that there is a
production version and being a user, they have no need to use Test anymore so
I am unsure if the delays are still present using the Test server's version.)
The project is published via a share to the servers. The URI for the project
is the respective intranet addresses for the two servers, pointing to the
project. The updates do happen properly so this is not an accessibility
issue. I've also tried substituting the IP address instead of the server's
name but this has no effect (as I assumed it wouldn't given the DNS caching
performed by most systems.)
From a configuration standpoint, the servers are identical as are the
projects as they are published. The same version is published to both servers
but with different URIs for accessing the two versions. The same signing
certificate is used when publishing the projects. The delay only affects a
few people (so far, we're on limited deployment/test but we're being pushed
to go live very heavily which will bring the number of users from less than a
dozen to several hundred.)
What I don't understand is what the difference is when publishing to the
different servers. Why is this particular machine taking so long to load a
version from box A but not from box B when they are the same version? The
network topology is such that both servers are 2 hops away (a common 1st hop
and the 2nd hop being the different servers.) The latency is too low to even
measure.
I am aware of all the advice about cutting schema complexity, removing
handles, etc. but our performance has not increased by removing handlers
which are necessary to satisfy a client requirement (but can be replaced in
the new version by the combobox control - waiting patiently for this.) The
majority of the 5 minute delay is spent idle.
One last piece of info: Ethereal was run in the background while loading the
project from one of the servers. There appears to be very little traffic
happening and the traffic that is traveling is timely. There don't seem to be
any data/network delays at all. Again, this is all on a well-managed intranet.
Any thoughts would be appreciated.
event handles on every drop down list. The schema is also very large. The
project is deployed in a well-managed intranet environment containing
desktops and laptops that are all very similar in architecture and resources.
The problem I am encountering is inconsistent load times between systems.
The project is published to different servers (a production and a test
server) whose configurations are identical except for the versions of
in-house software on those systems.
Generally, users will only use the version published to production. However,
some users notice upon opening the project (and has been verified personally)
that the project takes upwards of 5 minutes to load despite the fact that the
system is sitting idle for 80% of that time (no network, CPU, memory or disk
activity at all.)
The same user can pull down the published version on the Test server
(published just after Production's publish without any code alteration at
all. The only step involved is re-signing the project and starting the new
publish) and open the project in just around 1 minute. Altering a minor
aspect of the project and re-signing and re-publishing has the same effect.
The production version is slow and the test version is not (though, again,
they are the same version just published to two different servers.) The minor
changes are reflected in both projects verifying that updates are taking
place for both projects.
Most users experience no problems with either version, a couple seem to hang
with Production's version and not Test's version while another user had a
problem with Test's version but not Production's! (Now that there is a
production version and being a user, they have no need to use Test anymore so
I am unsure if the delays are still present using the Test server's version.)
The project is published via a share to the servers. The URI for the project
is the respective intranet addresses for the two servers, pointing to the
project. The updates do happen properly so this is not an accessibility
issue. I've also tried substituting the IP address instead of the server's
name but this has no effect (as I assumed it wouldn't given the DNS caching
performed by most systems.)
From a configuration standpoint, the servers are identical as are the
projects as they are published. The same version is published to both servers
but with different URIs for accessing the two versions. The same signing
certificate is used when publishing the projects. The delay only affects a
few people (so far, we're on limited deployment/test but we're being pushed
to go live very heavily which will bring the number of users from less than a
dozen to several hundred.)
What I don't understand is what the difference is when publishing to the
different servers. Why is this particular machine taking so long to load a
version from box A but not from box B when they are the same version? The
network topology is such that both servers are 2 hops away (a common 1st hop
and the 2nd hop being the different servers.) The latency is too low to even
measure.
I am aware of all the advice about cutting schema complexity, removing
handles, etc. but our performance has not increased by removing handlers
which are necessary to satisfy a client requirement (but can be replaced in
the new version by the combobox control - waiting patiently for this.) The
majority of the 5 minute delay is spent idle.
One last piece of info: Ethereal was run in the background while loading the
project from one of the servers. There appears to be very little traffic
happening and the traffic that is traveling is timely. There don't seem to be
any data/network delays at all. Again, this is all on a well-managed intranet.
Any thoughts would be appreciated.