В настоящее время мы испытываем значительные ожидания в базе данных TFS и пытаемся понять, являются ли они следствием размера таблицы истории версий tbl_Version в базе данных.
В настоящее время эта таблица содержит чуть более 20 миллионов записей и занимает примерно 6 ГБ дискового пространства (общее пространство индекса составляет чуть более 10 ГБ). Рассматривая запросы, с которыми сталкивается SQL Server, мы имеем высокий PAGEIOLATCH_SH, ожидающий каждый раз, когда к этой таблице обращаются. Очевидно, у нас нет контроля над запросами, генерируемыми в базе данных (все части TFS).
В настоящее время у нас есть TFS на виртуальной машине, и, по сути, мы хотим понять, должны ли мы (а) перейти на физическую машину, (б) попытаться уменьшить размер tbl_version или (в) следовать комбинации этих .
В нашей организации переход на физический сервер будет нетривиальным, поэтому я хотел бы узнать, «нормальны» ли размеры наших таблиц, прежде чем принимать какое-либо подобное решение.