Performance issues on different servers.

  • Thread starter Thread starter Thomas Pettersen
  • Start date Start date
T

Thomas Pettersen

Hi!

We have a strange problem that we've been trying to solve for some days.

We have an application where we have our own custom objects filled with
data. We're doing a lot of looping / removing and creating of objects in a
specific function. When I run this on my laptop it takes about 1,7 seconds
to do the whole operations (it's about 4500 objects filled with data). When
I do it on my customers computers this takes a lot longer time. I'm not
doing database-queries, communication with other components or anything.
It's pure dataprocessing with my own classes. The results are as follows:

My computer (1,7 seconds):
Laptop Pentium M - 1600 Mhz
1 Gb RAM
Windows XP Pro

My friends computer (1,8 seconds):
Laptop Pentium 4 - 2,66 Ghz
512 Mb RAM
Windows XP Pro

My customers test-server(12,3 seconds):
Server Pentium III - 800 Mhz
1 Gb RAM
Windows 2003 Server

My customers production-server (5,4 seconds):
Server Xeon 2 x 2.4 Ghz
2,2 Gb RAM
Windows 2003 Server

My customers laptop (6,1 seconds):
Laptop Pentium 4 - 2 Ghz
512 Mb RAM
Windows XP Pro


May there be any security-settings? The only big difference between my and
my friends computers are that we are in a workgroup while the
customer-computers are in a domain. Are there any other security-settings or
anything that my customer may have that affects the performance of our
application?

Regards
Thomas Pettersen / SKUM
 
did you run a profiler on the app?
I heard Compuware has one for free (haven't used it yet myself for C#,
but I like their older version for C++)
 
Are you doing any form of authentication? Might be that authenticating
against a domain is taking the time whereas the workgroup is local to the
machine. Just a guess.

- Paul Glavich
 
Hi!

Thanks you. Now I've run this application, but can't see anything special.

:) Thomas
 
Hi!

I'm only looping through my own objects, removing and adding objects. No
Authentications..

:) Thomas
 
Hi Thomas,

Thanks for your post. Can you execute your application in Windows
Safe-Mode? If so, I recommend you test it in the Safe-Mode of your systems,
or you can close/stop all the unnecessary programs/services to compare the
performance again.

Hope this helps.

Regards,

HuangTM
Microsoft Online Partner Support
MCSE/MCSD

Get Secure! -- www.microsoft.com/security
This posting is provided "as is" with no warranties and confers no rights.
 
Hi!

I figured out this problem myself. The reason was that I was using some
commands like:
IsNumeric and cInt. This commands does a lookup in the registry.

Our customers computers are on a big domain(s) with a lot of users, and it
seems like there is a delay between the application and the registry.Or they
have some kind of security-options on the registry on their computers so the
delay will still be there.

I solved it using Integer.Parse(String, somekindofglobalconfig.none) and
char.Isnumeric(string, position) instead.

It's easy to check with this code:
Public Sub Test()
Dim dblStart As Double
Dim dblEnd As Double

Dim i As Integer
Dim blnValue As Boolean

dblStart = Microsoft.VisualBasic.Timer

For i = 0 To 3000000
blnValue = IsNumeric("1000")
Next i

dblEnd = Microsoft.VisualBasic.Timer

msgBox("Result: " & dblEnd - dblStart)

End Sub


:) Thomas
 
Back
Top