ಕಾರ್ಯಕ್ಷಮತೆ

ಪಾರ್ಸರ್ 100 MB ಲಾಗ್‌ಗಳನ್ನು ನಿಮ್ಮ ಸರ್ವರ್‌ನ ಮೆಮೊರಿಯನ್ನು ಬಳಸದೆ ಹೇಗೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಪರಿವರ್ತನೆಗಳನ್ನು ವೇಗವಾಗಿ ಇಡಲು ನೀವು ಏನು ಮಾಡಬಹುದು.

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /kn/docs/04-performance/index.md.

ಬಿಸಿಯಾದ ಡೊಮೇನ್ ಕಂಟ್ರೋಲರ್‌ನಲ್ಲಿ DNS ಡಿಬಗ್ ಲಾಗ್‌ಗಳು ದೊಡ್ಡದಾಗಿರುತ್ತವೆ. Convert-DNSDebugLogFile ಅದಕ್ಕಾಗಿ ನಿರ್ಮಿಸಲಾಗಿದೆ: 100 MB ಮತ್ತು ಅದಕ್ಕೂ ಹೆಚ್ಚು ಲಾಗ್‌ಗಳೊಂದಿಗೆ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯ ಸರ್ವರ್ ಹಾರ್ಡ್‌ವೇರ್‌ನಲ್ಲಿ ನಿಮಿಷಗಳಲ್ಲಿ ಅವುಗಳನ್ನು ಪ್ರಕ್ರಿಯೆ ಮಾಡುತ್ತದೆ.

ಇದು ವೇಗವಾಗಿರುವ ಕಾರಣ

ಮಾಡ್ಯೂಲ್ ಬಳಸಲು ನೀವು ಇದರಲ್ಲಿ ಏನೂ ತಿಳಿದುಕೊಳ್ಳಬೇಕಾಗಿಲ್ಲ, ಆದರೆ ನೀವು ಗಮನಿಸುವ ವರ್ತನೆಯನ್ನು ಇದು ವಿವರಿಸುತ್ತದೆ.

ತಂತ್ರನೀವು ಗಮನಿಸುವ ಪರಿಣಾಮ
64 KB ಬಫರ್‌ಗಳೊಂದಿಗೆ StreamReader / StreamWriterಫೈಲ್ ಅನ್ನು ಒಂದು ದೊಡ್ಡ Get-Content ಬದಲು ತುಂಡುಗಳಾಗಿ ಓದುತ್ತದೆ ಮತ್ತು ಬರೆಯುತ್ತದೆ
ಸ್ಟ್ರೀಮಿಂಗ್, ಏಕ ಪಾಸ್ಲಾಗ್ ಎಷ್ಟು ದೊಡ್ಡದಾಗಿರಲಿ ಮೆಮೊರಿ ಬಳಕೆ ಸಮಾನವಾಗಿರುತ್ತದೆ
ಸ್ಟ್ರಿಂಗ್ ಆಪರೇಷನ್ಸ್ (.Substring(), .IndexOf()) ನಿಯಮಿತ ಅಭಿವ್ಯಕ್ತಿಗಳ ಬದಲುಪ್ರತಿ ಸಾಲಿಗೆ ಕಡಿಮೆ CPU ಬಳಕೆ, ಮತ್ತು ಲಕ್ಷಾಂತರ ಸಾಲುಗಳಿವೆ
Export-Csv ಬದಲು ಕೈಯಿಂದ CSV ಬರೆಯುವುದುಪ್ರತಿ ದಾಖಲೆಗಾಗಿ ಯಾವುದೇ ಆಬ್ಜೆಕ್ಟ್ ಪೈಪ್‌ಲೈನ್ ಓವರ್‌ಹೆಡ್ ಇಲ್ಲ
ಅಂಕಿಅಂಶಗಳಿಗಾಗಿ ಹ್ಯಾಷ್‌ಟೇಬಲ್ ಆಧಾರಿತ ಸಂಗ್ರಹಣೆಅದೇ ಪಾಸ್‌ನಲ್ಲಿ ರೋಲ್ಅಪ್‌ಗಳು ಬಹಳ ಕಡಿಮೆ ವೆಚ್ಚದಲ್ಲಿ

ಮುಖ್ಯ ಪರಿಣಾಮ: ಸಂಪೂರ್ಣ ಲಾಗ್ ಅನ್ನು ಎಂದಿಗೂ ಮೆಮೊರಿಯಲ್ಲಿ ಹಿಡಿದಿಡುವುದಿಲ್ಲ. 500 MB ಲಾಗ್‌ಗೆ 500 MB RAM ಬೇಕಾಗುವುದಿಲ್ಲ. ಇದು ಮಾಡ್ಯೂಲ್ ಮತ್ತು “ಫೈಲ್ ಓದಿ, ವಿಭಜಿಸಿ, ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಿ” ಎಂಬ ಹೆಚ್ಚಿನ ಮನೆಮಾಡಿದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸ — ಆ ವಿಧಾನ 5 MB ಮಾದರಿಯಲ್ಲಿ ಚೆನ್ನಾಗಿರುತ್ತದೆ ಆದರೆ ನಿಜವಾದ DC ಮೇಲೆ ವಿಫಲವಾಗುತ್ತದೆ.

ಓಟದಿಂದ ಹೆಚ್ಚು ಪಡೆಯುವುದು

ಒಂದು ದೊಡ್ಡ ಫೈಲ್ ಬದಲು ತಿರುಗಿದ ತುಂಡುಗಳನ್ನು ಪರಿವರ್ತಿಸಿ

DNS ಸರ್ವರ್ ಅನ್ನು ಲಾಗ್ ಅನ್ನು ನಿರ್ವಹಣೀಯ ಗಾತ್ರದಲ್ಲಿ ರೋಲ್‌ಓವರ್ ಮಾಡಲು ಸಂರಚಿಸಿ — 50 ರಿಂದ 200 MB ಉತ್ತಮ ವ್ಯಾಪ್ತಿಯಾಗಿದೆ. ಹಲವಾರು ಮಧ್ಯಮ ಗಾತ್ರದ ಫೈಲ್‌ಗಳು ನಿರೀಕ್ಷಿತ ಸಮಯದಲ್ಲಿ ಪರಿವರ್ತನೆ ಆಗುತ್ತವೆ ಮತ್ತು ನಿಯೋಜಿತ ಕೆಲಸವು ತನ್ನ ವಿಂಡೋ ಒಳಗೆ ಮುಗಿಯುತ್ತದೆ. ಒಂದು ನಿರಂತರವಾಗಿ ಬೆಳೆಯುವ ಫೈಲ್ ಕೊನೆಗೆ ಸಾಧ್ಯವಿಲ್ಲ.

ರೋಲ್‌ಓವರ್ ನಿಮಗೆ ಮುಚ್ಚಿದ ಫೈಲ್‌ಗಳನ್ನು ನೀಡುತ್ತದೆ, ಅದು ನೀವು ಬೇಕಾದದ್ದು:

Get-ChildItem "C:\Administration\Logs\DNSServer\*.log" |
    Sort-Object LastWriteTime -Descending |
    Select-Object -Skip 1 |
    Convert-DNSDebugLogFile -ComputerName $env:COMPUTERNAME

ನೀವು ಬೇಕಾಗದಿದ್ದರೆ ವಿವರ ಪಾರ್ಸಿಂಗ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಿ

DNS ಸರ್ವರ್ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ವಿವರಗಳನ್ನು ಬರೆಯುತ್ತಿದ್ದರೆ, ಆ ಬ್ಲಾಕ್‌ಗಳನ್ನು JSON ಆಗಿ ಪರಿವರ್ತಿಸುವುದು ಪರಿವರ್ತನೆಯ ಅತ್ಯಂತ ದುಬಾರಿ ಭಾಗವಾಗಿದೆ.

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -NoDetailsParsing

ಬಹಳಷ್ಟು ವಿವರ ಬ್ಲಾಕ್‌ಗಳಿರುವ ಲಾಗ್‌ಗಳಲ್ಲಿ 30–50% ವೇಗವಾಗಿ ಓಟ ನಿರೀಕ್ಷಿಸಿ, ಜೊತೆಗೆ ಬಹಳ ಚಿಕ್ಕ CSV. ನೀವು ಇನ್ನೂ ಪ್ರಶ್ನಾ ಮಟ್ಟದ ಡೇಟಾ ಮತ್ತು TCP/UDP ವಿವರ ಹೆಡರ್ ಲೈನ್ ಅನ್ನು Information ನಲ್ಲಿ ಪಡೆಯುತ್ತೀರಿ. ನೋಡಿ ಪ್ಯಾರಾಮೀಟರ್‌ಗಳು ಮತ್ತು ಆಯ್ಕೆಗಳು

ಮೊದಲೇ ಫಿಲ್ಟರ್ ಮಾಡಿ

-ContextFilter Packet ಸರ್ವರ್ ಟಿಪ್ಪಣಿಗಳು ಮತ್ತು ಘಟನೆಗಳನ್ನು ಬರೆಯುವ ಮೊದಲು ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ಕಡಿಮೆ ಔಟ್‌ಪುಟ್ ಅಂದರೆ ಕಡಿಮೆ I/O, ಚಿಕ್ಕ ಫೈಲ್‌ಗಳು ಮತ್ತು ಕಡಿಮೆ ಮುಂದಿನ ಕೆಲಸ.

ನೀವು ಬೇಕಾದುದನ್ನು ಮಾತ್ರ ಕೇಳಿ

-OutputType Statistic ಸಾಲು ಮಟ್ಟದ CSV ಬರೆಯುವುದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಬಿಟ್ಟುಬಿಡುತ್ತದೆ. ನಿಮ್ಮ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ದಿನನಿತ್ಯದ ಎಣಿಕೆಗಳನ್ನು ಮಾತ್ರ ತೋರಿಸಿದರೆ, ಇದು ಅತ್ಯಂತ ಕಡಿಮೆ ವೆಚ್ಚದ ಆಯ್ಕೆಯಾಗಿದೆ.

ಸ್ಥಳೀಯವಾಗಿ ಪರಿವರ್ತಿಸಿ, ಫಲಿತಾಂಶಗಳನ್ನು ಸ್ಥಳಾಂತರಿಸಿ

ಮಾಡ್ಯೂಲ್ SMB/UNC ಮಾರ್ಗಗಳನ್ನು ಓದುತ್ತದೆ, ಆದರೆ 200 MB ರಾ ಲಾಗ್ ಅನ್ನು ನೆಟ್‌ವರ್ಕ್ ಮೂಲಕ ಸೆಂಟ್ರಲ್‌ನಲ್ಲಿ ಪಾರ್ಸ್ ಮಾಡಲು ತಳ್ಳುವುದು ನಿಧಾನವಾಗಿದೆ. DNS ಸರ್ವರ್‌ನಲ್ಲಿ ಪರಿವರ್ತಿಸಿ, ನಂತರ (ಸಂಕುಚಿತ) CSV ಅನ್ನು ಸ್ಥಳಾಂತರಿಸಿ — ಅದು ಸಾಮಾನ್ಯವಾಗಿ ಬೈಟ್‌ಗಳ ಹತ್ತನೇ ಭಾಗವಾಗಿರುತ್ತದೆ. ಇದು GPO ಚಾಲಿತ ಸಂಗ್ರಹಣಾ ಉದಾಹರಣೆ ಹಿಂದೆ ಇರುವ ವಿನ್ಯಾಸ.

ವರ್ಗಾವಣೆ ಮತ್ತು ಆರ್ಕೈವ್‌ಗಾಗಿ ಸಂಕೋಚಿಸಿ

Convert-DNSDebugLogFile -InputFile "C:\Logs\dns.log" -CompressOutput

ಈ ರೀತಿಯ CSV ಸಾಮಾನ್ಯವಾಗಿ 90% ಅಥವಾ ಅದಕ್ಕಿಂತ ಹೆಚ್ಚು ಕುಗ್ಗುತ್ತದೆ. ಸಂಕೋಚನೆ ಓಟದ ಕೊನೆಯಲ್ಲಿ ಸ್ವಲ್ಪ CPU ಬಳಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ನಂತರ ಡಿಸ್ಕ್ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಉಳಿಸುತ್ತದೆ.

ಓಟ ನಿರೀಕ್ಷಿತಕ್ಕಿಂತ ನಿಧಾನವಾಗಿದ್ದರೆ

ಈಗಳನ್ನು ಕ್ರಮವಾಗಿ ಪರಿಶೀಲಿಸಿ:

  1. ಡಿಸ್ಕ್, CPU ಅಲ್ಲ. ಪರಿವರ್ತನೆ I/O-ಭಾರವಾಗಿದೆ. ಬ್ಯುಸಿ ವಾಲ್ಯೂಮ್‌ನಲ್ಲಿ ಇರುವ ಲಾಗ್ ಅಥವಾ ನಿಧಾನ ಲಿಂಕ್ ಮೂಲಕ ಓದುವುದು ಓಟದ ಸಮಯವನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ.
  2. ವಿವರ ಬ್ಲಾಕ್‌ಗಳು. ಲಾಗ್ ಸಂಪೂರ್ಣ ಪ್ಯಾಕೆಟ್ ವಿವರಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಮತ್ತು ನೀವು -NoDetailsParsing ಬಳಸಿರಲಿಲ್ಲ, ಅಲ್ಲಿ ಸಮಯ ಹೆಚ್ಚು ಹೋಗುತ್ತದೆ.
  3. ಫೈಲ್ ಗಾತ್ರ. ಒಂದು ಬಹು-ಗಿಗಾಬೈಟ್ ಲಾಗ್ ಯಾವಾಗಲೂ ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಇದನ್ನು ಪ್ಯಾರಾಮೀಟರ್‌ಗಳ ಮೂಲಕವಲ್ಲ, ರೋಲ್‌ಓವರ್ ಮೂಲಕ ಸರಿಪಡಿಸಿ.
  4. ಆಂಟಿವೈರಸ್. ಮೂಲ ಲಾಗ್ ಮತ್ತು ರಚಿಸಿದ CSV ಎರಡರನ್ನೂ ರಿಯಲ್-ಟೈಮ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಮಾಡುವುದು ಪರಿಣಾಮಕಾರಿ I/O ವೆಚ್ಚವನ್ನು ದ್ವಿಗುಣಗೊಳಿಸುತ್ತದೆ. ಲಾಗ್ ಡೈರೆಕ್ಟರಿಗಾಗಿ ಹೊರತುಪಡಿಸುವಿಕೆ ಸಾಮಾನ್ಯ ಮತ್ತು ಯುಕ್ತಿಯುತ ಕ್ರಮ.
  5. ಮೆಮೊರಿ ಒತ್ತಡ. ಮಾಡ್ಯೂಲ್ ಸ್ಟ್ರೀಮಿಂಗ್ ಮಾಡುತ್ತದೆ, ಆದ್ದರಿಂದ ಕಾರಣವಾಗಬಾರದು — ಆದರೆ ಸರ್ವರ್ ಈಗಾಗಲೇ ಸ್ವಾಪ್ ಆಗುತ್ತಿದ್ದರೆ ಎಲ್ಲವೂ ನಿಧಾನವಾಗುತ್ತದೆ.

ಹೆಚ್ಚಿನ ಲಕ್ಷಣಗಳು ಮತ್ತು ಪರಿಹಾರಗಳು ಟ್ರಬಲ್‌ಶೂಟಿಂಗ್ ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.