내 PC를 먼저 읽는다 — 환경 자동 감지
RocketUp은 최적화를 적용하기 전에 지금 이 PC가 '어떤 환경인지'부터 파악합니다. SystemEnvironmentAnalyzer는 관리자 권한 여부, Windows 버전과 빌드(구형/Win11), 가상 머신(VMware·Hyper-V·VirtualBox·QEMU 등) 여부, Windows Server 여부, 물리 메모리·여유 메모리·CPU 코어·CPU 사용률, 백신·방화벽 같은 보안 소프트웨어, 그룹 정책(엔터프라이즈 도메인), 네트워크 어댑터 상태, 게임 실행 여부, 개발자 환경(WSL·Docker) 등 50여 항목을 실제로 조사합니다.
조사에는 WMI, 레지스트리, 네트워크 인터페이스 API, 서비스 상태, 실행 중 프로세스 스캔을 사용합니다. 예를 들어 제조사/모델 문자열로 가상 머신을 판별하고, Win32_OperatingSystem의 ProductType으로 워크스테이션인지 서버인지 구분합니다. 이렇게 모은 신호를 종합해 시스템을 12가지 환경 타입(표준, 제한된 권한, 엔터프라이즈 도메인, 가상 머신, 저리소스, 보안 제한, 이미 최적화됨, 구형 Windows, 개발자, 게이밍, Windows Server, 알 수 없음) 중 하나로 분류합니다.
분류에는 우선순위가 있습니다. 리소스 부족(예: 총 메모리 4GB 미만)이 감지되면 다른 어떤 조건보다 우선해 '저리소스'로 판정합니다. 잘못 판단하면 오히려 시스템이 불안정해질 수 있는 환경을, 먼저 보수적으로 다루기 위한 안전장치입니다.
- WMI·레지스트리·서비스·프로세스·NetworkInterface 기반 실측 감지 (지어낸 값 아님)
- 가상 머신 4종(VMware/Hyper-V/VirtualBox/QEMU 등) 및 Windows Server SKU(ProductType) 식별
- 관리자 권한·UAC 레벨·그룹 정책·보안 소프트웨어 존재 여부 확인
- 12가지 환경 타입 분류 + 리소스 부족 최우선 판정 규칙
- 측정 실패 시 기본값을 지어내지 않고 보수적으로 처리
환경에 맞는 강도만 적용 — 6단계 전략 프로파일
감지된 환경은 곧바로 최적화 '강도'로 이어집니다. RocketUp은 표준(Standard), 보수적(Conservative), 공격적(Aggressive), 선택적(Selective), 최소(Minimal), 사용자 정의(Custom)의 6가지 전략 프로파일을 두고, 환경 타입에 따라 자동으로 하나를 고릅니다.
예를 들어 관리자 권한이 없으면 보수적으로, 게임이 실행 중인 표준 PC라면 공격적으로, 그룹 정책이 걸린 도메인 PC나 가상 머신·구형 Windows·기존 최적화 도구가 감지되면 충돌을 피하기 위해 선택적으로, 메모리가 크게 부족하면 최소한만 적용하도록 전략을 조정합니다. Windows Server가 감지되면 데스크톱·게이밍용 공격적 트윅은 적용하지 않고 보수적으로 진행합니다.
이 프로파일 개념 덕분에 같은 앱이 PC방의 고사양 게이밍 PC와 회사 지급 노트북, 저사양 사무용 PC에서 각각 다르게 동작합니다. 사용자가 강도를 일일이 고르지 않아도, '이 PC에서 안전하게 할 수 있는 만큼'을 시스템이 대신 결정합니다. 물론 원하면 세부 토글로 직접 조정할 수도 있습니다.
- 6단계 전략: 표준·보수적·공격적·선택적·최소·사용자 정의
- 권한 없음 → 보수적, 게이밍 표준 → 공격적, 도메인/VM/구형 → 선택적으로 자동 매핑
- 저리소스 → 최소 적용으로 시스템 안정성 우선
- Windows Server는 공격적 트윅 제외(보수적 고정)
- 자동 선택 + 고급 사용자용 수동 세부 토글 병행
20여 개 최적화 모듈 — 필요한 것만 골라 실행
RocketUp의 PC 최적화는 하나의 거대한 스위치가 아니라, 역할별로 나뉜 독립 모듈의 집합입니다. 시스템 계층에는 ServiceOptimizer(불필요 서비스 중지/보호 목록 유지), ProcessOptimizer(백그라운드 프로세스 정리·작업 집합 정리), PowerPlanManager(고성능 전원 플랜·USB 선택적 절전 해제), RegistryTweaker(게임 모드·GPU 스케줄링·타이머 해상도·TCP NoDelay), StorageInspector(SSD/HDD/NVMe 감지·여유 공간·TRIM 점검), PriorityWatcher(게임 실행 시 우선순위 조정) 등이 있습니다.
네트워크 계층에는 TCP·Winsock·네트워크 스택·MTU·DNS 최적화, NIC 오프로드/전원 관리, RSS, UDP 지터·FEC·QoS, Wi-Fi 및 테더링·종량제(metered) 대응 등 다수의 전용 모듈이 존재합니다. 각 모듈은 자기가 담당하는 영역만 건드리므로, 어떤 항목이 문제를 일으켰는지 추적하고 그 부분만 되돌리기가 쉽습니다.
위험도가 높은 항목(HPET 비활성화, Windows Defender 예외 추가 등)은 기본값이 꺼져 있고, 설정에서 명시적으로 켜야만 실행됩니다. 서비스·프로세스 정리에는 보호(화이트리스트) 목록이 있어 시스템 핵심 구성요소는 건드리지 않습니다.
- 시스템 모듈: 서비스·프로세스·전원·레지스트리·스토리지·우선순위 감시
- 네트워크 모듈: TCP/Winsock/MTU/DNS/NIC 오프로드·전원/RSS/UDP 지터/FEC/QoS/Wi-Fi/테더링/종량제
- 모듈 단위 실행으로 원인 추적·부분 롤백 용이
- 위험 옵션(HPET·Defender 예외)은 기본 OFF, 명시적 동의 시에만 적용
- 서비스·프로세스 보호 목록으로 시스템 핵심 구성요소 제외
효과가 없으면 되돌린다 — 측정 기반 자동 롤백
최적화는 '적용했다'가 아니라 '정말 나아졌나'로 판단해야 합니다. RocketUp은 최적화 전에 먼저 네트워크 품질 기준선을 측정합니다. AutoRollbackManager가 대상 호스트로 핑과 지터를 측정해 평균 RTT, 패킷 손실률, 지터를 기준선으로 저장합니다.
적용 후에는 일정 시간 동안 10초 간격으로 헬스체크를 돌립니다. RTT가 기준선 대비 100% 이상 증가하거나, 손실률이 15%p 이상 늘거나, 지터가 200% 이상 커지면 '악화'로 판정하고, 일시적 튐과 구분하기 위해 연속 3회 악화가 확인될 때만 개입합니다. 개입 시에는 문제 유형을 분석해 원인으로 의심되는 모듈만 골라 되돌리는 선택적 롤백을 먼저 시도합니다(예: RTT 급증 → TCP/네트워크 스택 계열, 손실 급증 → Wi-Fi/테더링 계열, 지터 급증 → UDP/지터/FEC 계열). 롤백 후에는 다시 여러 번 재측정해 실제로 개선됐는지 확인합니다.
중요한 설계 원칙은 '연결을 끊지 않는다'입니다. 네트워크 유지 모드가 켜져 있어, 선택적 롤백으로도 문제가 남으면 전체 롤백을 자동으로 강행하지 않고 모니터링을 지속합니다. 전체 원복은 사용자가 직접 롤백을 선택했을 때 수행됩니다. 또한 기준선 RTT가 0인 근접 호스트 같은 경계 상황에서 잘못된 롤백이 일어나지 않도록 0으로 나누는 계산을 방지하는 가드도 들어 있습니다.
- 최적화 전 RTT·손실률·지터 기준선 실측(핑+지터)
- 10초 간격 헬스체크, 임계값: RTT +100% / 손실 +15%p / 지터 +200%
- 일시적 변동 배제를 위해 연속 3회 악화 시에만 개입
- 원인 모듈만 되돌리는 선택적 롤백 → 재측정으로 개선 확인
- 네트워크 유지 모드: 전체 롤백 자동 강행 금지(연결 보존), 전체 원복은 사용자 선택
안전 우선 — 적용 전 백업, 되돌릴 수 있는 변경만
RocketUp은 변경을 시작하기 전에 되돌릴 준비부터 합니다. OptimizationRunner는 실행 전에 설정 스냅샷을 뜨고(레지스트리·서비스 상태·전원 플랜 GUID) Windows 시스템 복원 지점을 생성합니다. 스냅샷은 RegistryTweaker가 실제로 기록하는 키와 일치하도록 관리되어, 나중에 원복할 때 어긋나지 않습니다.
적용이 끝난 뒤에도 스냅샷 기반으로 레지스트리·서비스·전원 플랜을 복원하는 경로가 준비되어 있습니다. 즉 어떤 최적화 항목이든 '적용 → 관찰 → 원복'의 흐름 안에서 다뤄집니다. 복원 지점 생성이나 스냅샷 저장이 실패해도 무리하게 중단하지 않고, 실패를 로그로 정직하게 남긴 채 진행 여부를 판단합니다.
환경 인식 자동 최적화(AdaptiveOptimizationOrchestrator)는 이 안전 원칙을 그대로 이어받습니다. PC 측 트윅은 롤백이 내장된 검증된 파이프라인에 위임하고, 자동으로 안전하게 할 수 없는 조치(유선 전환, 릴레이 경유, SSH가 안 되는 공유기 등)는 억지로 적용했다고 표시하지 않고 '권고'로 정직하게 보고합니다.
- 실행 전 설정 스냅샷(레지스트리·서비스·전원 GUID) + 시스템 복원 지점 생성
- 스냅샷 키와 실제 기록 키 일치 관리로 정확한 원복 보장
- 적용 후 스냅샷 기반 레지스트리·서비스·전원 플랜 복원 경로 제공
- 백업 실패 시 무리한 중단 대신 로그로 정직하게 기록
- 자동 불가 조치는 '적용됨'이 아니라 '권고'로 명시(허위 표기 없음)
보장되는 것은 '안전한 절차'입니다. 적용 전 백업·복원 지점 생성, 환경별 강도 조절, 그리고 품질이 나빠지면 원인 모듈만 되돌리는 측정 기반 롤백은 코드에 구현되어 실제로 동작합니다. 다만 성능이 '몇 배 빨라진다' 같은 수치는 보장하지 않으며, 실제 개선 폭은 회선·공유기·ISP·게임 서버 등 PC 밖의 조건에 크게 좌우되는 best-effort입니다. 라우터 CAKE SQM 같은 일부 조치는 OpenWrt·SSH 접근 등 조건이 갖춰질 때만 자동 적용되고, 그렇지 않으면 정직하게 권고로만 안내됩니다.