Repository navigation
Fix: 다른 프로세스의 페이지 읽기를 캐시 다시 만지기가 디스크 읽기로 오판함 - #198
Merged
Merged
Conversation
디스크 읽기 감지는 시스템 전체의 페이지 읽기 누계를 쓰는데, 다른 프로세스가 짧은 시간에 많이 읽는 순간과 뷰를 만지는 때가 겹치면 디스크를 읽지 않은 뷰가 통째로 디스크 읽기로 세어졌습니다. 그러면 만지기가 멈추고 목록 일부가 메모리에 없다고 판정돼, 캐시에 있는 목록을 디스크에서 다시 읽었습니다. - 한 뷰에서 디스크로 본 양을 그 뷰를 만지는 데 걸린 시간 동안 디스크가 읽을 수 있는 양(초당 256 MiB)으로 제한함 - 실제로 디스크에서 읽힌 느린 뷰의 감지와 멈춤 기준은 그대로 둠 - 시험이 실제 경과 시간에 기대지 않게 뷰 시간을 재는 시계를 주입할 수 있게 함 - `docs/SOLAR.md`, `docs/SOLAR.ko.md` 의 감지 설명과 한계에 반영함 Issues #197
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
csharp/src/AsterCache.Windows/StandbyTouch.cs의DiskBytesOf).docs/SOLAR.md,docs/SOLAR.ko.md의 감지 설명과 한계에 반영했습니다.알아 둘 점
8만 쪽을 읽는 몰림이 약 90초에 한 번 있었고, 4.3초 창의 약 5% 가 잡음 허용치를 넘었습니다. 64 MiB 를 메모리에서 만지면 약 20 ms, HDD 에서 읽으면 0.41초가 걸렸습니다.requeue stopped by disk reads·ladder found data missing한 건을 이 오판으로 판단했지만, 그 건 자체를 재현하지는 못했습니다.Test plan
dotnet build csharp -c Release -m:1경고 0, 오류 0dotnet test csharp/tests/AsterCache.Tests -c Release --no-build --filter "Category!=Live"4,531건 통과dotnet format csharp --verify-no-changes종료 코드 0git diff --check종료 코드 0build-test통과: https://github.com/DO0OG/AsterCache/actions/runs/43569870412Closes #197