io - Prioritizing I/O for a specific query request in SQL server -


sorry long introduction before can ask question, think giving background understanding our problem better.

we using sql server 2008 our web services backend , time time takes time responding requests supposed run fast, taking more 20 seconds select request queries table has 22 rows. went through many potential areas cause issue indexes stored procedures, triggers etc, , tried optimize whatever can removing indexes not read write or adding nolock our select queries reduce locking of tables (we ok dirty reads).

we had our dba's reviewed server , benchmarked components see bottlenecks in cpu, memory or disk subsystem, , found out hardware-wise ok well. , since pikes occurring occasionally, hard reproduce error on production or development because of time when rerun same query yields response times expecting, short, not 1 has been experienced earlier.

having said that, have been suspicious i/o although not seem bottleneck. think able reproduce error after running index fragmentation report specific table on server, caused pikes in requests not run against table in other requests query other tables. , since db, , server, shared other applications use , time time queries can run on server , database take long time common scenario us, suspicion regarding occasional i/o bottleneck is, believe, becoming fact.

therefore want find out way prioritize requests coming web services processed if there other resource sensitive queries being run. have been looking kind of prioritization described above since beginning of resolution process , found out sql server 2008 has feature called 'resource governor' allows prioritization of requests.

however, since not expert on resource governor nor dba, ask other people's experience may have used or using resource governor, whether can prioritize i/o specific login or specific stored procedure (for example, if 1 i/o intensive process being run @ time receive web service request, can sql server stops, or slows down, i/o activity process , give priority request received?).

thank spends time on reading or helping out in advance.

some hardware details:
cpu: 2x quad core amd opteron 8354
memory: 64gb
disk subsystem: compaq eva8100 series (i not sure should raid 0+1 accross 8 hp hsv210 scsi drives)

ps:and can 100 percent sure application servers not causing error , there no bottleneck can identify there.

update 1:

i'll try answer as can following questions gbn asked below. please let me know if looking else.

1) kind of index , statistics maintenance have please?
have weekly running job defrags indexes every friday. in addition that, auto create statistics , auto update statistics enabled. , spikes occurring in other times fragmentation job well.

2) kind of write data volumes have?
hard answer.in addition our web services, there front end application accesses same database , periodically resource intensive queries needs run knowledge, however, don't know how get, let's weekly or daily, write amount db.

3) have profiled recompilation , statistics update events?
sorry not able figure out one. didn't understand asking question. can provide more information question, if possible?

first thought statistics being updated because of data change threshold reached causing execution plans rebuilt.

  • what kind of index , statistics maintenance have please? note: index maintenance updates index stats, not column stats: may need separate stats updates.
  • what kind of write data volumes have?
  • have profiled recompilation , statistics update events?

Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -