vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Hi I am trying to design an IO subsystem for my SQL Server and for that I need to try and predict IO activity on each table in my MSSQL Database. My idea is to move the hottest tables into special disk subsystem away from the less hotter tables. So far I have gathered that we have three tables more hot than the others but I have no feeling on ratio on how hot each is and how much activity is on the less hotter tables. I need to predict how many disks I should assign to each subsystem and so far.... I haven't found a reasonable way to do this. The only way I found to see read/writes and physical read/writes is on filelevel. but I've also managed to do a trace in sqlprofiler to get the logical read and writes per query but since my queries are often joins I have no way of spliting that IO between the tables included in the join and no idea on which hit the buffer pool and which didn'nt. Is there maybe a counter or some way that I have not found? Any input would be greatly appriciated. best regards & thanks Arni Snorri |
| |||
| arnie@gormur.com (Arni Snorri Eggertsson) wrote in message news:<c8d15bfa.0404280125.6f1dadcf@posting.google. com>... > Hi > > I am trying to design an IO subsystem for my SQL Server and for that I > need to try and predict IO activity on each table in my MSSQL > Database. My idea is to move the hottest tables into special disk > subsystem away from the less hotter tables. So far I have gathered > that we have three tables more hot than the others but I have no > feeling on ratio on how hot each is and how much activity is on the > less hotter tables. I need to predict how many disks I should assign > to each subsystem and so far.... > I haven't found a reasonable way to do this. > > The only way I found to see read/writes and physical read/writes is on > filelevel. but I've also managed to do a trace in sqlprofiler to get > the logical read and writes per query but since my queries are often > joins I have no way of spliting that IO between the tables included in > the join and no idea on which hit the buffer pool and which didn'nt. > Is there maybe a counter or some way that I have not found? > > Any input would be greatly appriciated. > > best regards & thanks > Arni Snorri I'm not sure if it's possible to do exactly what you want - MSSQL will probably cache a lot of the data from the 'hot' tables anyway, so the issue is not so much the physical disk access as how much RAM you have, and how well MSSQL uses the cache. There are a lot of performance monitor counters for buffer and cache management you can use to look at this. As for the disks, I would start by identifying how much space is required on disk, then try to use lots of smaller disks instead of fewer bigger ones for the 'hot' filegroups. Placing the transaction logs on separate disks would also help, of course. Simon |
| ||||
| "Arni Snorri Eggertsson" <arnie@gormur.com> wrote in message news:c8d15bfa.0404280125.6f1dadcf@posting.google.c om... > Hi > > I am trying to design an IO subsystem for my SQL Server and for that I > need to try and predict IO activity on each table in my MSSQL > Database. My idea is to move the hottest tables into special disk > subsystem away from the less hotter tables. So far I have gathered > that we have three tables more hot than the others but I have no > feeling on ratio on how hot each is and how much activity is on the > less hotter tables. I need to predict how many disks I should assign > to each subsystem and so far.... > I haven't found a reasonable way to do this. If you don't have it, get the Microsoft Press book on SQL Server Performance tuning. Lots of good help here. > > The only way I found to see read/writes and physical read/writes is on > filelevel. but I've also managed to do a trace in sqlprofiler to get > the logical read and writes per query but since my queries are often > joins I have no way of spliting that IO between the tables included in > the join and no idea on which hit the buffer pool and which didn'nt. > Is there maybe a counter or some way that I have not found? > > Any input would be greatly appriciated. > > best regards & thanks > Arni Snorri |