Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Administration (2000)
 Performance issue

Author  Topic 

vaidyanathanpc
Starting Member

24 Posts

Posted - 2002-03-06 : 12:16:57
Hi,
We have about 45 systems at different locations talking to our database. So we have all the systems talking to our database thru linked server. By the way, I think the problem is not due to linked servers. Any idea what could be the problem?? SQL server is taking up most of the RAM and our application is hanging.

Thanks
P.C. Vaidyanathan

MuadDBA

628 Posts

Posted - 2002-03-06 : 14:10:40
Well, it's typical for SQL to use up as much RAM as is available, and only back off when an application requests some. And it doesn't back off quickly, either :)

I would suggest setting a maximum RAM the SQL can take up, thus freeing more for your application.

Have you run any performance analysis on the SQL Server to see if your application is starving for resources? Is the SQL box performing at peak, with CPU and Disk time very very high? We need more symptoms in order to help!



Go to Top of Page

royv
Constraint Violating Yak Guru

455 Posts

Posted - 2002-03-07 : 09:58:25
Your application really should not be running on the server, does it have to run on the server?

*************************
Just trying to get things done
Go to Top of Page

Wanderer
Master Smack Fu Yak Hacker

1168 Posts

Posted - 2002-03-12 : 05:52:01
Start by reviewing the actual memory usage. As has been pointed out, the server memory utilization will be very near 100% when SQL has been running for any length of time. Definitely review to see whether the server can be allocated as a dedicated data server, and if you can move the application to a dedicated applciation server.

Start reviewing the actual cause of the poor performance - using profiler, or else any tools that you have on site (BMC etc. etc.).

Since you are concerned about memory usage, you could consider the follwing query (taken from an SP I have to look for memory hogs).

****
select convert(varchar(8),counter_procs.nt_username) as UserId,
'DB_Name'=substring(master..sysdatabases.name,1,35),
convert(varchar(30),counter_procs.loginame) as SQL_LoginName,
counter_procs.No_Processes,
counter_procs.mem_used_in_KB
from (select nt_username,dbid,loginame,count(*) as No_Processes,(sum(memusage)*4) as mem_used_in_KB from master..sysprocesses
group by nt_username,dbid,loginame) counter_procs
join master..sysdatabases on counter_procs.dbid = master..sysdatabases.dbid
where counter_procs.mem_used_in_KB > @minmem
order by 2,5 desc,1,3

*****

You will need to replace the @minmem with a value, or else you can run the query without the where statement.

HTH

Go to Top of Page
   

- Advertisement -