-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
High performance setup ko KR
์ด๋ ์ ๋ฉ๋ชจ๋ฆฌ ์ค์ (low-memory setup) ๊ณผ ์ ํํ ๋ฐ๋๋๋ ๋ฐฉ์์ด๋ฉฐ, ASF ์ฑ๋ฅ(CPU ์๋ ๊ธฐ์ค)์ ๋์ฑ ๋์ด์ฌ๋ฆฌ๊ณ ์ถ์ผ์๋ค๋ฉด ์ด ํ๋ค์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. ๋ค๋ง ๊ทธ ๋๊ฐ๋ก ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค.
ASF๋ ์ด๋ฏธ ์ ๋ฐ์ ์ธ ๊ท ํ ์กํ ํ๋์์ ์ฑ๋ฅ์ ์ฐ์ ์ํ๋๋ก ์ค๊ณ๋์ด ์์ผ๋ฏ๋ก, ์ฑ๋ฅ์ ์ถ๊ฐ๋ก ๋์ด์ฌ๋ฆด ์ ์๋ ์ฌ์ง๋ ๊ทธ๋ฆฌ ๋ง์ง ์์ต๋๋ค. ๋ค๋ง ์ ํ์ง๊ฐ ์์ ํ ์๋ ๊ฒ์ ์๋๋๋ค. ๋ค๋ง ์ด ์ต์ ๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ง ์๋ค๋ ์ ์ ์ ๋ ํ์ธ์. ์ด๋ ๋๋ค์์ ์ฌ์ฉ ํ๊ฒฝ์์ ๊ท ํ ์กํ ์ค์ ์ผ๋ก ๊ฐ์ฃผํ ๋งํผ ์ถฉ๋ถํ ์ข์ ์ต์ ์ ์๋๋ผ๋ ๋ป์ด๋ฏ๋ก, ์ด๋ก ์ธํด ์ฆ๊ฐํ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ด ๋ณธ์ธ์๊ฒ ๊ฐ๋ดํ ๋งํ ์์ค์ธ์ง๋ ์ง์ ํ๋จํ์ ์ผ ํฉ๋๋ค.
์๋์ ๋ฐฉ๋ฒ๋ค์ ์๋นํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ฆ๊ฐ๋ฅผ ์๋ฐ ํ๋ฏ๋ก ์ ์คํ๊ฒ ์ฌ์ฉํ์ ์ผ ํฉ๋๋ค.
์ด๋ฌํ ์ค์ ์ ์ ์ฉํ๋ ๊ถ์ฅ ๋ฐฉ๋ฒ์ DOTNET_ ํ๊ฒฝ ์์ฑ์ ํตํ๋ ๊ฒ์
๋๋ค. ๋ฌผ๋ก runtimeconfig.json๊ณผ ๊ฐ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ๋ ์ฌ์ฉํ์ค ์ ์์ง๋ง, ์ผ๋ถ ์ค์ ์ ์ด ๋ฐฉ์์ผ๋ก๋ ์์ ์ค์ ์ด ๋ถ๊ฐ๋ฅํ๋ฉฐ, ๊ฒ๋ค๊ฐ ASF๋ ๋ค์ ์
๋ฐ์ดํธ ์ ์ฌ์ฉ์๊ฐ ์ง์ ์์ ํ runtimeconfig.json์ ์์ฒด ํ์ผ๋ก ๋ฎ์ด์ฐ๊ธฐ ๋๋ฌธ์, ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ธฐ ์ ์ ์์ฝ๊ฒ ์ค์ ํ ์ ์๋ ํ๊ฒฝ ์์ฑ ๋ฐฉ์์ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
.NET ๋ฐํ์์ ์ฌ์ฉํ๋ฉด ๊ฐ๋น์ง ์ปฌ๋ ํฐ(garbage collector)๋ฅผ ์กฐ์ ํ ์ ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ฌ, ํ์์ ๋ง๊ฒ GC ํ๋ก์ธ์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋ฏธ์ธ ์กฐ์ ํ ์ ์์ต๋๋ค. ์ ํฌ๊ฐ ํนํ ์ค์ํ๋ค๊ณ ํ๋จํ๋ ์์ฑ๋ค์ ์๋์ ๋ฌธ์ํํด๋์์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ด ์ํฌ์คํ ์ด์ (workstation) ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฌ์ฉํ ์ง, ์๋ฒ(server) ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฌ์ฉํ ์ง๋ฅผ ์ค์ ํฉ๋๋ค.
์๋ฒ GC์ ์ ํํ ์ธ๋ถ ์ฌํญ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ๊ธฐ๋ณธ ์๋ฆฌ ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
ASF๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํฌ์คํ ์ด์ ๊ฐ๋น์ง ์ปฌ๋ ์ ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์ฃผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ์ฑ๋ฅ ์ฌ์ด์ ๊ท ํ์ด ์ข๊ธฐ ๋๋ฌธ์ด๋ฉฐ, ์์์ ๋ด๋ง ์ด์ํ๋ ๊ฒฝ์ฐ์๋ ์ด ์ ๋๋ก๋ ์ถฉ๋ถํฉ๋๋ค. ๋ณดํต ๋จ์ผ ๋์ ์คํ ๋ฐฑ๊ทธ๋ผ์ด๋ GC ์ค๋ ๋๋ง์ผ๋ก๋ ASF๊ฐ ํ ๋นํ ์ ์ฒด ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ์ ์ถฉ๋ถํ ๋น ๋ฅด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ค๋ง ์ค๋๋ ์๋ ASF๊ฐ ํฌ๊ฒ ํ์ฉํ ์ ์๋ ๋ค์์ CPU ์ฝ์ด๊ฐ ์กด์ฌํ๋ฉฐ, ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ CPU vCore๋ง๋ค ์ ์ฉ GC ์ค๋ ๋๋ฅผ ํ ๋นํจ์ผ๋ก์จ ํฐ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค. ์ด๋ ๋ฐฐ์ง ํ์ด์ง๋ ์ธ๋ฒคํ ๋ฆฌ ํ์ฑ๊ณผ ๊ฐ์ ๋ฌด๊ฑฐ์ด ASF ์์ ์ค ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์์ต๋๋ค. ๊ฐ CPU vCore๊ฐ (๋ฉ์ธ ์ค๋ ๋์ GC ์ค๋ ๋, ๋จ 2๊ฐ๋ฟ์ด ์๋๋ผ) ๋ชจ๋ ์์ ์ ๋์ธ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ฒ GC๋ CPU vCore๊ฐ 3๊ฐ ์ด์์ธ ๊ธฐ๊ธฐ์ ๊ถ์ฅ๋ฉ๋๋ค. ๊ธฐ๊ธฐ์ CPU vCore๊ฐ 1๊ฐ๋ฟ์ด๋ผ๋ฉด ์๋์ผ๋ก ์ํฌ์คํ ์ด์ GC๊ฐ ๊ฐ์ ์ ์ฉ๋๋ฉฐ, ์ ํํ 2๊ฐ๋ผ๋ฉด ๋ ๋ค ์๋ํด๋ณด์๋ ๊ฒ๋ ๊ณ ๋ คํด๋ณผ ๋งํฉ๋๋ค(๊ฒฐ๊ณผ๋ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฅผ ์ ์์ต๋๋ค).
์๋ฒ GC ์์ฒด๋ ๋จ์ํ ํ์ฑํ๋ ์ํ๋ง์ผ๋ก๋ ๊ทธ๋ฆฌ ํฐ ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ๋ฅผ ์ด๋ํ์ง ์์ง๋ง, ์ธ๋(generation) ํฌ๊ธฐ๊ฐ ํจ์ฌ ํฌ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ OS์ ๋๋ ค์ฃผ๋ ๋ฐ ์์ด ํจ์ฌ ๋ ์๊ทน์ (lazy)์
๋๋ค. ์๋ฒ GC๊ฐ ์ฑ๋ฅ์ ํฌ๊ฒ ํฅ์์์ผ์ ๊ณ์ ์ฌ์ฉํ๊ณ ์ถ์ง๋ง, ๋์์ ์ด๋ก ์ธํด ๋ฐ์ํ๋ ํฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ ์ฆ๊ฐ๋ ๊ฐ๋นํ ์ ์๋, ์ ๋งคํ ์ง์ ์ ๋์ด์ค ์๋ ์์ต๋๋ค. ๋คํํ๋ "๋ ๋ง๋ฆฌ ํ ๋ผ๋ฅผ ๋ชจ๋ ์ก๋" ์ค์ ์ด ์กด์ฌํฉ๋๋ค. GCLatencyLevel ์ค์ ์์ฑ์ 0์ผ๋ก ์ค์ ํ์ฌ ์๋ฒ GC๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ธ๋ฐ, ์ด๋ ๊ฒ ํ๋ฉด ์๋ฒ GC๋ ๊ณ์ ํ์ฑํ๋ ์ํ๋ฅผ ์ ์งํ๋ฉด์๋ ์ธ๋ ํฌ๊ธฐ๋ฅผ ์ ํํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ข ๋ ์ง์คํ๊ฒ ๋ฉ๋๋ค. ๋๋ GCHeapHardLimitPercent ๋ผ๋ ๋ค๋ฅธ ์์ฑ์ ์คํํด๋ณด์๊ฑฐ๋, ๋ ์์ฑ์ ๋์์ ์ฌ์ฉํด๋ณด์ค ์๋ ์์ต๋๋ค.
๋ค๋ง ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ฌธ์ ๊ฐ ๋์ง ์๋ ํ๊ฒฝ์ด์๋ผ๋ฉด(GC๋ ์ฌ์ ํ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณ ๋ คํ์ฌ ์ค์ค๋ก ์กฐ์ ํ๋ฏ๋ก), ์ด๋ฌํ ์์ฑ๋ค์ ์ ํ ๋ณ๊ฒฝํ์ง ์๋ ๊ฒ์ด ํจ์ฌ ๋ ์ข์ ๋ฐฉ๋ฒ์ด๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๋ ๋ฐ์ด๋ ์ฑ๋ฅ์ ์ป์ผ์ค ์ ์์ต๋๋ค.
์ ์ ํ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ์ฌ ์ํ๋ ์์ฑ์ ํ์ฑํํ์ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, Linux(์ ธ)์์๋:
export DOTNET_gcServer=1
./ArchiSteamFarm # For OS-specific build
./ArchiSteamFarm.sh # For generic build๋๋ Windows(PowerShell)์์๋:
$Env:DOTNET_gcServer=1
.\ArchiSteamFarm.exe # For OS-specific build
.\ArchiSteamFarm.cmd # For generic build-
OptimizationMode์ ๊ธฐ๋ณธ๊ฐ์ธMaxPerformance๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ธ์. ์ด๋ ๋จ์ฐ์ฝ ๊ฐ์ฅ ์ค์ํ ์ค์ ์ ๋๋ค.MinMemoryUsage๊ฐ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ ๊ทน์ ์ธ(๋ถ์ ์ ์ธ) ์ํฅ์ ๋ฏธ์น๊ธฐ ๋๋ฌธ์ ๋๋ค. - ์๋ฒ GC ํ์ฑํํ๊ธฐ. ์๋ฒ GC๋ ํ์ฑํ๋๋ฉด ์ํฌ์คํ ์ด์ GC ๋๋น ๋์ ๋๊ฒ ์ฆ๊ฐํ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ผ๋ก ๋ฐ๋ก ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์ต๋ ์๋๋ก GC ์์ ์ ๋ณ๋ ฌ ์ฒ๋ฆฌํ๊ธฐ ์ํด, ๊ธฐ๊ธฐ๊ฐ ๊ฐ์ง ๋ชจ๋ CPU ์ค๋ ๋๋ง๋ค ํ๋์ฉ GC ์ค๋ ๋๋ฅผ ์์ฑํฉ๋๋ค.
- ์๋ฒ GC๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ๋ฅผ ๊ฐ๋นํ ์ ์์ผ์๋ค๋ฉด, "๋ ๋ง๋ฆฌ ํ ๋ผ๋ฅผ ๋ชจ๋ ์ก๊ธฐ" ์ํด
GCLatencyLevel๋ฐ/๋๋GCHeapHardLimitPercent๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์ธ์. ๋ค๋ง ๋ฉ๋ชจ๋ฆฌ์ ์ฌ์ ๊ฐ ์์ผ์๋ค๋ฉด, ๊ธฐ๋ณธ๊ฐ ๊ทธ๋๋ก ์ ์งํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค - ์๋ฒ GC๋ ๋ฐํ์ ์ค ์ด๋ฏธ ์ค์ค๋ก๋ฅผ ์กฐ์ ํ๋ฉฐ, OS๊ฐ ์ค์ ๋ก ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ์ํ ๋๋ ๋ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๋งํผ ์ถฉ๋ถํ ๋๋ํฉ๋๋ค.
์์ ๊ถ์ฅ ์ฌํญ๋ค์ ์ ์ฉํ๋ฉด ์๋ฐฑ~์์ฒ ๊ฐ์ ๋ด์ด ํ์ฑํ๋ ์ํ์์๋ ๋งค์ฐ ๋น ๋ฅธ ASF ์ฑ๋ฅ์ ์ป์ผ์ค ์ ์์ต๋๋ค. ์ด์ CPU๋ ๋ ์ด์ ๋ณ๋ชฉ ์ง์ ์ด ์๋๊ฒ ๋ ๊ฒ์ ๋๋ค. ASF๊ฐ ํ์ํ ๋ ์ ์ฒด CPU ์ฑ๋ฅ์ ํ์ฉํ ์ ์์ด, ํ์ํ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํ์ผ๋ก ์ค์ฌ์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ค์ ๋จ๊ณ๋ CPU ๋ฐ RAM ์ ๊ทธ๋ ์ด๋, ๋๋ ์ฌ๋ฌ ์๋ฒ์ ASF ์ธ์คํด์ค์ ์์ ์ ๋ถ์ฐ์ํค๋ ๊ฒ์ ๋๋ค.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
- ๐ก ํ
- ๐ฌ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- โ๏ธ ์์ํ๊ธฐ (์ฌ๊ธฐ์๋ถํฐ)
- ๐ฅ ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฒ์ ๋ฑ๋ก๊ธฐ
- ๐ข ๋ช ๋ น์ด
- ๐ ๏ธํธํ์ฑ
- ๐ง ํ๊ฒฝ์ค์
- ๐ด ItemsMatcherPlugin
- ๐ ๊ด๋ฆฌ
- โฑ๏ธ ์ฑ๋ฅ
- ๐ก ์๊ฒฉ ํต์
- ๐ช Steam ๊ฐ์กฑ ๊ณต์
- ๐ ๊ฑฐ๋
- โจ๏ธ ๋ช ๋ น์ค ์ธ์
- ๐ง ์ฌ์ฉ ์ค๋จ
- ๐ณ Docker
- ๐ค ํ์ฅ๋ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- ๐ ๊ณ ์ฑ๋ฅ ์ค์
- ๐ IPC
- ๐ ํ์งํ
- ๐ ๋ก๊น
- ๐พ ์ ์ฌ์ ๋ฉ๋ชจ๋ฆฌ ํ๊ฒฝ ์ค์
- ๐ต๐ผโโ๏ธ MonitoringPlugin
- ๐ ํ๋ฌ๊ทธ์ธ
- ๐ ๋ณด์
- โฌ๏ธ SteamTokenDumperPlugin
- ๐ฆ ์๋ ํํฐ
- ๐ต 2๋จ๊ณ ์ธ์ฆ







