473,386 Members | 1,821 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Inexplicable slowdowns

Hello,

I have a 32-bit .net 1.1 service that spawns many different threads and,
in general, does a lot of processing. Up to now, it's been working on
Win2003 32-bit servers fairly well against SQL Server 2000 (on the same
box).

Now, it's been installed on Win2003 R2 64-bit working against SQL Server
2005 (64-bit). At times, this happens several times a day, a single
thread in the application will inexplicably slow down to ridiculous
levels (i can see this because I log a lot of stuff to disk), like 1/100
of the regular processing speed.

I am trying to find causes for this behavior. Does it have anything to
do with the fact that it's a 32-bit app running on a 64-bit OS.

I already profiled the calls to SQL Server and it seems to have nothing
to do with the slowdown. The servers have 6GB of RAM and have 4 dual
proc AMD chips.

Any pointers are welcome.
Regards
Mar 7 '07 #1
7 1264
So does the CPU load on the machine increase when this anomaly occurs, or it
just seems to be taking a long time to complete, but is not hogging CPU
cycles?
"Frank Rizzo" <no**@none.comwrote in message
news:O3*************@TK2MSFTNGP05.phx.gbl...
Hello,

I have a 32-bit .net 1.1 service that spawns many different threads and,
in general, does a lot of processing. Up to now, it's been working on
Win2003 32-bit servers fairly well against SQL Server 2000 (on the same
box).

Now, it's been installed on Win2003 R2 64-bit working against SQL Server
2005 (64-bit). At times, this happens several times a day, a single
thread in the application will inexplicably slow down to ridiculous levels
(i can see this because I log a lot of stuff to disk), like 1/100 of the
regular processing speed.

I am trying to find causes for this behavior. Does it have anything to do
with the fact that it's a 32-bit app running on a 64-bit OS.

I already profiled the calls to SQL Server and it seems to have nothing to
do with the slowdown. The servers have 6GB of RAM and have 4 dual proc
AMD chips.

Any pointers are welcome.
Regards

Mar 7 '07 #2
Kevin Frey wrote:
So does the CPU load on the machine increase when this anomaly occurs, or it
just seems to be taking a long time to complete, but is not hogging CPU
cycles?
The CPU is pegged and is taking a long time to complete. But only one
CPU (out of 8) is pegged for a long time. Another thing I noticed is
the drop in available physical memory, which may or may not be a result
of actions taken by my application.


Mar 8 '07 #3
Hello,

What is the task of the particular thread? What code it will execute? If
you have source code on hand, you may add some debug code in it, for
example, log exact time in a file after each of steps has been finished, so
that you can know which code cause the delay.

Sincerely,

Luke Zhang

Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.

Mar 8 '07 #4
Luke Zhang [MSFT] wrote:
Hello,

What is the task of the particular thread? What code it will execute? If
you have source code on hand, you may add some debug code in it, for
example, log exact time in a file after each of steps has been finished, so
that you can know which code cause the delay.
The task is to basically schedule an entity into a time slot. So the
tasks has to consider hundreds of business rules and find a time slot.
The operation is totally memory based (and can take a bit of time). At
the end of the operation, the results are written to the database.
However, I profiled the SQL operation and it is taking no time at all.

I also noticed that the server was operating at the end of available
physical memory (typically 200 mb free out of total of 6GB available)
and as a result of perfmon monitoring, I saw that these slowdowns occur
when the available physical memory dips to 100mb or so. I am thinking
that the operation is forced into the paging file/virtual memory.
However, I still can't explain the magnitude of the slowdown, e.g.
operation that normally takes a second will take 80 seconds.

Regards

>
Sincerely,

Luke Zhang

Microsoft Online Community Support
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/subscripti...ult.aspx#notif
ications.

Note: The MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 1 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions or complex
project analysis and dump analysis issues. Issues of this nature are best
handled working with a dedicated Microsoft Support Engineer by contacting
Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/subscripti...t/default.aspx.
==================================================

This posting is provided "AS IS" with no warranties, and confers no rights.
Mar 8 '07 #5
"Frank Rizzo" <no**@none.comwrote in message news:u2*************@TK2MSFTNGP04.phx.gbl...
Luke Zhang [MSFT] wrote:
>Hello,

What is the task of the particular thread? What code it will execute? If you have source
code on hand, you may add some debug code in it, for example, log exact time in a file
after each of steps has been finished, so that you can know which code cause the delay.

The task is to basically schedule an entity into a time slot. So the tasks has to
consider hundreds of business rules and find a time slot. The operation is totally memory
based (and can take a bit of time). At the end of the operation, the results are written
to the database. However, I profiled the SQL operation and it is taking no time at all.

I also noticed that the server was operating at the end of available physical memory
(typically 200 mb free out of total of 6GB available) and as a result of perfmon
monitoring, I saw that these slowdowns occur when the available physical memory dips to
100mb or so. I am thinking that the operation is forced into the paging file/virtual
memory. However, I still can't explain the magnitude of the slowdown, e.g. operation that
normally takes a second will take 80 seconds.
I don't get it, your service is a 32 bit process, so, can only consume 2GB (or 3GB) of
memory, so the question is - who's consuming the other 3-4GB?
What other applications are you running on this machine? Are there external SQL clients, and
how many are they? Did you configure SQL to use all available memory? Did you configure SQL
to use all processors?
Honestly, I think SQL server is the culprit.

Willy.
Mar 8 '07 #6
Willy Denoyette [MVP] wrote:
"Frank Rizzo" <no**@none.comwrote in message
news:u2*************@TK2MSFTNGP04.phx.gbl...
>Luke Zhang [MSFT] wrote:
>>Hello,

What is the task of the particular thread? What code it will execute?
If you have source code on hand, you may add some debug code in it,
for example, log exact time in a file after each of steps has been
finished, so that you can know which code cause the delay.

The task is to basically schedule an entity into a time slot. So the
tasks has to consider hundreds of business rules and find a time slot.
The operation is totally memory based (and can take a bit of time).
At the end of the operation, the results are written to the database.
However, I profiled the SQL operation and it is taking no time at all.

I also noticed that the server was operating at the end of available
physical memory (typically 200 mb free out of total of 6GB available)
and as a result of perfmon monitoring, I saw that these slowdowns
occur when the available physical memory dips to 100mb or so. I am
thinking that the operation is forced into the paging file/virtual
memory. However, I still can't explain the magnitude of the slowdown,
e.g. operation that normally takes a second will take 80 seconds.

I don't get it, your service is a 32 bit process, so, can only consume
2GB (or 3GB) of memory, so the question is - who's consuming the other
3-4GB?
What other applications are you running on this machine? Are there
external SQL clients, and how many are they? Did you configure SQL to
use all available memory? Did you configure SQL to use all processors?
Honestly, I think SQL server is the culprit.
Oh, I know that SQL Server is the culprit. It's set to consume a max of
3GB. My application consumes 2.5GB (it's compiled with
LARGEADDRESSAWARE). And there is a bunch of other smaller apps that are
pushing the limit of the memory. I've asked the DBA to kick the SQL
Server to 2.5GB, but the guy and his superiors won't budge, so I am left
with a bunch of customers who are screaming bloody murder.

Anyway, the part that confounds me is that why an operation that
typically takes 1 second could take 80 seconds when only virtual memory
is available.

Regards.

>
Willy.

Mar 8 '07 #7
"Frank Rizzo" <no**@none.comwrote in message news:u9**************@TK2MSFTNGP06.phx.gbl...
Willy Denoyette [MVP] wrote:
>"Frank Rizzo" <no**@none.comwrote in message
news:u2*************@TK2MSFTNGP04.phx.gbl...
>>Luke Zhang [MSFT] wrote:
Hello,

What is the task of the particular thread? What code it will execute? If you have
source code on hand, you may add some debug code in it, for example, log exact time in
a file after each of steps has been finished, so that you can know which code cause the
delay.

The task is to basically schedule an entity into a time slot. So the tasks has to
consider hundreds of business rules and find a time slot. The operation is totally
memory based (and can take a bit of time). At the end of the operation, the results are
written to the database. However, I profiled the SQL operation and it is taking no time
at all.

I also noticed that the server was operating at the end of available physical memory
(typically 200 mb free out of total of 6GB available) and as a result of perfmon
monitoring, I saw that these slowdowns occur when the available physical memory dips to
100mb or so. I am thinking that the operation is forced into the paging file/virtual
memory. However, I still can't explain the magnitude of the slowdown, e.g. operation
that normally takes a second will take 80 seconds.

I don't get it, your service is a 32 bit process, so, can only consume 2GB (or 3GB) of
memory, so the question is - who's consuming the other 3-4GB?
What other applications are you running on this machine? Are there external SQL clients,
and how many are they? Did you configure SQL to use all available memory? Did you
configure SQL to use all processors?
Honestly, I think SQL server is the culprit.

Oh, I know that SQL Server is the culprit. It's set to consume a max of 3GB. My
application consumes 2.5GB (it's compiled with LARGEADDRESSAWARE). And there is a bunch
of other smaller apps that are pushing the limit of the memory. I've asked the DBA to
kick the SQL Server to 2.5GB, but the guy and his superiors won't budge, so I am left with
a bunch of customers who are screaming bloody murder.

Anyway, the part that confounds me is that why an operation that typically takes 1 second
could take 80 seconds when only virtual memory is available.

Regards.

>>
Willy.

If I were the DBA, I would kick your application off that server (maybe you can try to do
the inverse), this is a typical case of a customer that things that buying a big server
with a lot of memory and processors (most of the time not investing in decent but still
expensive Disk IO subsystem) can run all of it's applications. Wrong, you are better off
with two smaller boxes than one big iron who's supposed to handle it all.
The 1 to 80 seconds is not surprising at all, if applications start competing for memory and
the system starts paging, application with a lot of private pages will suffer the most, SQL
server is optimized such that he won't give up his allocated share, so the victim is your
application.

Willy.

Mar 8 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Da Costa Gomez | last post by:
Hi all, This question involves the construction of instances with abstract classes as parent. Situation: Eclipse 2.1.1 as IDE with SDK 1.4.2 I'm using c=Class.forName(...) and the obj =...
5
by: Patrick Stone | last post by:
Here's a reason why javascript sucks so bad. The following *SIMPLE* piece of code will not work properly. Jesus, how I yearn for the day when a real programming language can be substituted for this...
0
by: Yash | last post by:
Hi, I own two computers. Both running Windows 2000. On one of those, some application windows appear bloated. I am testing an email client being developed here. The client window takes up half the...
13
by: Dave | last post by:
Can anybody tell me why the code below should produce the error below? I'm going nuts here! Am I missing something incredibly obvious and simple? std::string::size_type idx; std::string...
8
by: johnmmcparland | last post by:
Hi all, my program is trying to add group boxes with radio buttons at run time. While at one point it was able to draw the group boxes without the radio buttons, now it encounters problems just...
0
by: Aurélien | last post by:
Hello, I've developped, for my firm a small intranet (ASP.net 2.0). One page of this intranet connects to a small home-made DLL. I've made unit tests (via NUnit) : the creation of an instance...
1
by: Otto Carl Marte | last post by:
I have run into a performance problem with db2 v9. When the connection concentrator is turned on then performance is significantly reduced. I did some simple insert tests, 75 records inserted into...
0
by: | last post by:
I have an Access 2007 form timer event that (seemingly at random times) fails to fire. I also have Access VBA code that slows down, sometimes taking 4 or 5 minutes to do what it otherwise does in...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.