This is a bit of a broad question but I am trying to understand a storage performance behavior with two of our servers.
On one server I ran dskspd with the below parameters on the same disk as the DB.
diskspd.exe -b2M -d60 -o32 -h -L -t56 -W -w0 -c10G G:\MP13\Data\test.dat
and got around 1400MB/s
I was also able to get comparable throughput using a T-SQL query as below and calculating the throughput from the number of reads and time. I got this from Glenn Berry SQL Course on PluralSight "Improving Storage Subsystem Performance ".
set statistics io on set statistics time on checkpoint dbcc dropcleanbuffers select count(*) from table1 with(index(1))
On the other server though, I can get the high throughput numbers from the diskio tool but using SQL server method I am not able to get the throughput numbers. the SQL numbers are close to what I get if I run diskspd in single thread, even though the plan is running in parallel.
So I was wondering what are the things I can check to see why SQL Server's IO is slow or why SQL Server is not able to push more IO's through.