August 20, 2010 at 9:09 am
Hi,
iam new DBA. my application is Running very slow past one hour.
as a DBA basically where to start the Investigation. plz let me know step by step analysis.
very urgent. client is shouting....................
advance thanks.
Subha
SQL DBA
August 20, 2010 at 9:54 am
This is a very open ended question, trying to answer how to do performance tuning is not easy. But for starters I would recommend checking your database servers, check out the KPIs to see if there are any bottlenecks.
And check out the database server to see for blocking issues.
Mohit K. Gupta, MCITP: Database Administrator (2005), My Blog, Twitter: @SQLCAN[/url].
Microsoft FTE - SQL Server PFE
* Some time its the search that counts, not the finding...
* I didn't think so, but if I was wrong, I was wrong. I'd rather do something, and make a mistake than be frightened and be doing nothing. :smooooth:[/font]
August 21, 2010 at 4:57 am
ok mohit.
my investigation is still going. first i started at N/w level, O/S level . every thing fine at N/w level & O/S level.
now iam at Sql database level.
-> there is no blockings & deadlocks.
next what should i do?
August 21, 2010 at 5:11 am
I would start running a profiler trace on "SQL batch starting/complete" to see if the duration of the statements will increase over time and which statement that would be.
September 8, 2010 at 3:18 am
I need more informations for this issue..
1.Application's slow frequently or rarely
2.If frequently means.. Did you check the cpu usage or not
3. did you run the profiler or not?
4. if you are not run the profiler then run the profiler, start the application simulatneously
fetch the query from the profiler and run it query analyser mode
5. find out the tables.. check the tables fragmentation using dbcc showcontig
6. if the logical fragmentation < 30% then run the reorganise index query at non business hours
7. if the fragmentation >30% then rebuild an index at non business hours
8. Now again run the application and check it now
9.if the fragmentation is not occurred, then check the tempdb space and user database space issue.
10. if the space is good then you have to check any blockings or deadlocks occurred in your database
using sp_who
11. check it if any open transactions occurred in your database
select * from sysprocessess where open_tran>0
if its there.. then commit the transactions for the respective server process ID
Thanks & Regads
Balaji.G
October 29, 2010 at 12:26 am
Hi Shubha,
please run this script on your server, the script will find the highest fragmentation tables.
Select
db.name AS databaseName
, ps.OBJECT_ID AS objectID
, ps.index_id AS indexID
, ps.partition_number AS partitionNumber
, ps.avg_fragmentation_in_percent AS fragmentation
, ps.page_count
FROM sys.databases db
INNER JOIN sys.dm_db_index_physical_stats (NULL, NULL, NULL , NULL, N'Limited') ps
ON db.database_id = ps.database_id
WHERE ps.index_id > 0
AND ps.page_count > 100
AND ps.avg_fragmentation_in_percent > 30
OPTION (MaxDop 1);
you will get the highest fragmented tables, use this query to find the table indexes which are higher then 30%
USE DBname
select object_name(objectID)
it will show the table name, go that and rebuild the indexes and see the performance of your application it will be fast 🙂
hope this help you 🙂
Luck
Tayyeb
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply