мои локальные, Azure резервные копии DevOps 2019 показывают неустойчивое увеличение размера файла .mdf
- query1 показывает, что это таблица «dbo.tbl_content»
- query2 показывает, что это «FileContainer» размером 112 ГБ.
- query3 показывает, что это pipelines: // b на 93 ГБ.
- query4 показывает, что используемый размер увеличился с 1 ГБ в месяц до 10 ГБ в месяц. Это произошло в январе 2020 года, когда, возможно, случайно мы перешли с TFS18 на AzureDevOps19.
Итак, я считаю, что ищу сборочную трубу (а не выпускную трубу), которую нужно очистить? Исторически сложилось так, что мы пытались сохранить старые журналы сборки на 366 дней, но по нашим темпам мы этого не сделаем.
у нас около 40 конвейеров сборки (некоторые исторические c, которые больше не работают), в c 4 запускаются при фиксации (CI).
re: retention policy. ..
- типичная политика хранения сборки CI. Срок хранения: 10 мин. Срок хранения: 1
- типичная политика хранения сборок R C. Дней хранения: 180 Мин. Хранения: 50
- от: DefaultCollection / Base / _settings / buildqueue ... Максимальная политика хранения / Дней хранения: 183 Мин. Хранения: 55 Политика хранения по умолчанию / Дней хранения: 15 минут для хранения: 1 Окончательно уничтожить сборки / Дней для сохранения записи сборки после удаления: 366 <- Я уменьшил это вчера с 7000 </em>
Любая помощь приветствуется здесь, но особенно :
- Как я могу отследить конкретную сборку c, которая вызывает проблему? и как я могу это исправить?
- Есть какой-нибудь инструмент, который покажет мне, где проблемы l ie. например, в TFS раньше был инструмент аудита работоспособности, но я его не вижу?
Спасибо,
query1
SELECT TOP 10 o.name,
SUM(reserved_page_count) * 8.0 / 1024 SizeInMB,
SUM(CASE
WHEN p.index_id <= 1 THEN p.row_count
ELSE 0
END) Row_Count
FROM sys.dm_db_partition_stats p
JOIN sys.objects o
ON p.object_id = o.object_id
GROUP BY o.name
ORDER BY SUM(reserved_page_count) DESC
query2
SELECT Owner =
CASE
WHEN OwnerId = 0 THEN 'Generic'
WHEN OwnerId = 1 THEN 'VersionControl'
WHEN OwnerId = 2 THEN 'WorkItemTracking'
WHEN OwnerId = 3 THEN 'TeamBuild'
WHEN OwnerId = 4 THEN 'TeamTest'
WHEN OwnerId = 5 THEN 'Servicing'
WHEN OwnerId = 6 THEN 'UnitTest'
WHEN OwnerId = 7 THEN 'WebAccess'
WHEN OwnerId = 8 THEN 'ProcessTemplate'
WHEN OwnerId = 9 THEN 'StrongBox'
WHEN OwnerId = 10 THEN 'FileContainer'
WHEN OwnerId = 11 THEN 'CodeSense'
WHEN OwnerId = 12 THEN 'Profile'
WHEN OwnerId = 13 THEN 'Aad'
WHEN OwnerId = 14 THEN 'Gallery'
WHEN OwnerId = 15 THEN 'BlobStore'
WHEN OwnerId = 255 THEN 'PendingDeletion'
END,
SUM(CompressedLength) / 1024.0 / 1024.0 AS BlobSizeInMB
FROM tbl_FileReference AS r
JOIN tbl_FileMetadata AS m
ON r.ResourceId = m.ResourceId
AND r.PartitionId = m.PartitionId
WHERE r.PartitionId = 1
GROUP BY OwnerId
ORDER BY 2 DESC
query3
SELECT CASE
WHEN Container = 'vstfs:///Buil' THEN 'Build'
WHEN Container = 'vstfs:///Git/' THEN 'Git'
WHEN Container = 'vstfs:///Dist' THEN 'DistributedTask'
WHEN Container = 'vstfs:///Rele' THEN 'Release'
ELSE Container
END AS FileContainerOwner,
SUM(fm.CompressedLength) / 1024 / 1024 AS TotalSizeInMB
FROM (SELECT DISTINCT LEFT(c.ArtifactUri, 13) AS Container,
fr.ResourceId,
ci.PartitionId
FROM tbl_Container c with (nolock)
INNER JOIN tbl_ContainerItem ci
ON c.ContainerId = ci.ContainerId
AND c.PartitionId = ci.PartitionId
INNER JOIN tbl_FileReference fr
ON ci.fileId = fr.fileId
AND ci.DataspaceId = fr.DataspaceId
AND ci.PartitionId = fr.PartitionId) c
INNER JOIN tbl_FileMetadata fm
ON fm.ResourceId = c.ResourceId
AND fm.PartitionId = c.PartitionId
GROUP BY c.Container
ORDER BY TotalSizeInMB DESC
query4
Select DATEPART(yyyy, CreationDate) as [year],
DATEPART(mm, CreationDate) as [month],
SUM(DATALENGTH(Content)) / 1048576 as [Size in Mb]
From tbl_Content With (nolock)
Group by DATEPART(yyyy, CreationDate),
DATEPART(mm, CreationDate)
Order by DATEPART(yyyy, CreationDate),
DATEPART(mm, CreationDate)
Связанный вопрос: TFS2015 tbl_Content увеличение