System Buffer Tuning - TCP and Network Performance Optimization
ونڈوز کی تشخیص
# Check TCP parameters
netsh interface tcp show global
# View network adapter buffer settings
Get-NetAdapterAdvancedProperty -Name "Ethernet" | Where-Object {$_.DisplayName -like "*buffer*"}
# Monitor TCP statistics
netstat -s -p tcp
# Check receive window auto-tuning
netsh interface tcp show global | findstr "Receive Window"
macOS تشخیص
# Check current buffer settings sysctl kern.ipc.maxsockbuf sysctl net.inet.tcp.sendspace sysctl net.inet.tcp.recvspace # View network statistics netstat -s -p tcp # Monitor socket buffers netstat -an -p tcp
لینکس بفر ٹیوننگ
Legacy Linux کی ترتیبات (Circa 2009)
| پیرامیٹر | میراثی قدر (2009) | تفصیل |
|---|---|---|
| net.core.rmem_default | 124928 (122KB) | ڈیفالٹ وصول ساکٹ بفر سائز |
| net.core.rmem_max | 131071 (128KB) | زیادہ سے زیادہ وصول ساکٹ بفر سائز |
| net.core.wmem_default | 124928 (122KB) | ڈیفالٹ ساکٹ بفر سائز بھیجیں۔ |
| net.core.wmem_max | 131071 (128KB) | زیادہ سے زیادہ ساکٹ بفر سائز بھیجیں۔ |
| net.ipv4.tcp_rmem | 4096 87380 174760 | TCP بفر وصول کرتا ہے: کم سے کم، ڈیفالٹ، زیادہ سے زیادہ (بائٹس میں) |
| net.ipv4.tcp_wmem | 4096 16384 131072 | TCP بفر بھیجیں: کم سے کم، ڈیفالٹ، زیادہ سے زیادہ (بائٹس میں) |
| net.ipv4.tcp_mem | 196608 262144 393216 ۔ | TCP میموری کے صفحات: کم، دباؤ، زیادہ |
| net.core.netdev_max_backlog | 1000 | ان پٹ قطار میں زیادہ سے زیادہ پیکٹ |
| net.core.optmem_max | 10240 (10KB) | زیادہ سے زیادہ ذیلی بفر سائز فی ساکٹ |
موجودہ لینکس کی ترتیبات (2025-2026)
| پیرامیٹر | موجودہ تجویز کردہ قدر | تفصیل |
|---|---|---|
| net.core.rmem_default | 16777216 (16MB) | ڈیفالٹ وصول ساکٹ بفر سائز |
| net.core.rmem_max | 134217728 (128MB) | زیادہ سے زیادہ وصول ساکٹ بفر سائز |
| net.core.wmem_default | 16777216 (16MB) | ڈیفالٹ ساکٹ بفر سائز بھیجیں۔ |
| net.core.wmem_max | 134217728 (128MB) | زیادہ سے زیادہ ساکٹ بفر سائز بھیجیں۔ |
| net.ipv4.tcp_rmem | 4096 87380 134217728 | TCP بفر وصول کرتا ہے: کم سے کم، ڈیفالٹ، زیادہ سے زیادہ (128MB زیادہ سے زیادہ) |
| net.ipv4.tcp_wmem | 4096 65536 134217728 | TCP بفر بھیجیں: کم سے کم، ڈیفالٹ، زیادہ سے زیادہ (128MB زیادہ سے زیادہ) |
| net.ipv4.tcp_mem | 8388608 12582912 16777216 | TCP میموری صفحات: کم، دباؤ، زیادہ (64GB سسٹم) |
| net.core.netdev_max_backlog | 250000 | ان پٹ قطار میں زیادہ سے زیادہ پیکٹ (10GbE+) |
| net.core.optmem_max | 65536 (64KB) | زیادہ سے زیادہ ذیلی بفر سائز فی ساکٹ |
| net.ipv4.tcp_congestion_control | بی بی آر | BBR کنجشن کنٹرول استعمال کریں (گوگل کا الگورتھم) |
| net.ipv4.tcp_window_scaling | 1 | TCP ونڈو اسکیلنگ کو فعال کریں (RFC 1323) |
| net.ipv4.tcp_timestamps | 1 | بہتر RTT تخمینہ کے لیے TCP ٹائم اسٹیمپ کو فعال کریں۔ |
| net.ipv4.tcp_sack | 1 | انتخابی اعتراف کو فعال کریں۔ |
| net.ipv4.tcp_no_metrics_save | 1 | TCP میٹرکس کی کیشنگ کو غیر فعال کریں۔ |
لینکس کنفیگریشن ایپلی کیشن
ان ترتیبات کو شامل کریں۔/etc/sysctl.confیا ایک نئی فائل بنائیں/etc/sysctl.d/99-network-tuning.conf:
# Network Buffer Tuning for High-Performance Applications # Optimized for 10GbE+ networks with RTT up to 300ms # Core socket buffer settings net.core.rmem_default = 16777216 net.core.rmem_max = 134217728 net.core.wmem_default = 16777216 net.core.wmem_max = 134217728 # TCP buffer settings net.ipv4.tcp_rmem = 4096 87380 134217728 net.ipv4.tcp_wmem = 4096 65536 134217728 net.ipv4.tcp_mem = 8388608 12582912 16777216 # Device buffer settings net.core.netdev_max_backlog = 250000 net.core.netdev_budget = 50000 net.core.netdev_budget_usecs = 5000 net.core.optmem_max = 65536 # TCP optimizations net.ipv4.tcp_congestion_control = bbr net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_timestamps = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_moderate_rcvbuf = 1 # Apply with: sysctl -p /etc/sysctl.d/99-network-tuning.conf
این آئی سی رنگ بفر ٹیوننگ
# Check current ring buffer sizes ethtool -g eth0 # Set maximum ring buffer sizes (adjust based on NIC capabilities) ethtool -G eth0 rx 4096 tx 4096 # Make persistent by adding to /etc/network/interfaces or systemd service
- فی کنکشن میموری:ہر کنکشن rmem_max + wmem_max (128MB بفرز کے ساتھ 256MB) تک استعمال کر سکتا ہے۔
- نظام کا کل اثر:1,000 کنکشن × 256MB = 256GB ممکنہ استعمال
- محفوظ تخمینہ:زیادہ سے زیادہ کنکرنٹ کنکشن × 256MB سسٹم RAM کے 50% سے زیادہ نہیں ہونا چاہیے۔
- مثال:ایک 64GB سرور کو 128MB بفرز کے ساتھ زیادہ سے زیادہ کنکشنز کو ~ 125 کنکرنٹ ہائی تھرو پٹ کنکشن تک محدود کرنا چاہیے۔
- <16 جی بی ریم والے سرورز کے لیے تجویز:بفرز کو 16-32MB زیادہ سے کم کریں اور tcp_mem کو متناسب طور پر ایڈجسٹ کریں
ونڈوز بفر ٹیوننگ
لیگیسی ونڈوز سیٹنگز (سرکا 2009 - ونڈوز وسٹا/7/سرور 2008)
| پیرامیٹر | میراثی قدر (2009) | مقام |
|---|---|---|
| ٹی سی پی ونڈو سائز | 65535 (64KB) | رجسٹری: HKLM\System\CurrentControlSet\Services\Tcpip\Parameters |
| Tcp1323Opts | 0 (غیر فعال) | ونڈو اسکیلنگ بطور ڈیفالٹ غیر فعال ہے۔ |
| DefaultReceiveWindow | 8192 (8KB) | ڈیفالٹ وصول کرنے والی ونڈو |
| ڈیفالٹ سینڈ ونڈو | 8192 (8KB) | ڈیفالٹ بھیجنے والی ونڈو |
| GlobalMaxTcpWindowSize | 65535 (64KB) | زیادہ سے زیادہ TCP ونڈو کا سائز |
| TcpNumConnections | 16777214 | زیادہ سے زیادہ TCP کنکشنز |
موجودہ ونڈوز سیٹنگز (ونڈوز 10/11/سرور 2019-2025)
جدید ونڈوز استعمال کرتا ہے۔ونڈو آٹو ٹیوننگ وصول کریں۔فیچر، جو متحرک طور پر نیٹ ورک کے حالات کی بنیاد پر وصول کرنے والے بفر کو ایڈجسٹ کرتا ہے۔
| فیچر | موجودہ تجویز کردہ ترتیب | تفصیل |
|---|---|---|
| آٹو ٹیوننگ لیول | نارمل (یا 10GbE+ کے لیے انتہائی تجرباتی) | متحرک وصول ونڈو ایڈجسٹمنٹ |
| ریسیو سائیڈ اسکیلنگ (RSS) | فعال | نیٹ ورک پروسیسنگ کو CPUs میں تقسیم کریں۔ |
| چمنی آف لوڈ | خودکار (یا جدید NICs پر غیر فعال) | NIC ہارڈویئر پر TCP آف لوڈ |
| نیٹ ڈی ایم اے | معذور | براہ راست میموری تک رسائی (فرسودہ) |
| TCP گلوبل پیرامیٹرز | نیچے دیے گئے احکامات دیکھیں | سسٹم وائیڈ TCP سیٹنگز |
| بھیڑ فراہم کرنے والا | کیوبک (یا نیو رینو فال بیک) | TCP بھیڑ کنٹرول الگورتھم |
ونڈوز کنفیگریشن کمانڈز
# Check current auto-tuning level netsh interface tcp show global # Enable auto-tuning (normal mode - default for most scenarios) netsh interface tcp set global autotuninglevel=normal # For high-bandwidth, high-latency networks (10GbE+, data center environments) netsh interface tcp set global autotuninglevel=experimental # For conservative tuning (if experimental causes issues) netsh interface tcp set global autotuninglevel=restricted # For very conservative tuning (not recommended for high-performance networks) netsh interface tcp set global autotuninglevel=highlyrestricted # Enable CUBIC congestion provider (Windows Server 2022/Windows 11+ only) netsh interface tcp set supplemental template=Internet congestionprovider=cubic # Note: Windows 10 and Server 2019 use Compound TCP or NewReno by default # CUBIC is not available on these older versions # Enable Receive-Side Scaling (RSS) netsh interface tcp set global rss=enabled # Set chimney offload (automatic is recommended) netsh interface tcp set global chimney=automatic # Disable NetDMA (recommended for modern systems) netsh interface tcp set global netdma=disabled # Enable Direct Cache Access (if supported) netsh interface tcp set global dca=enabled # Enable ECN (Explicit Congestion Notification) netsh interface tcp set global ecncapability=enabled # Set initial congestion window to 10 (RFC 6928) netsh interface tcp set global initialRto=3000
اعلی درجے کی NIC بفر سیٹنگز (بذریعہ ڈیوائس مینیجر یا پاور شیل)
# View current adapter settings Get-NetAdapterAdvancedProperty -Name "Ethernet" # Increase receive buffers (adjust based on NIC) Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Receive Buffers" -DisplayValue 2048 # Increase transmit buffers Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Transmit Buffers" -DisplayValue 2048 # Enable Jumbo Frames (if network supports it) Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Jumbo Packet" -DisplayValue 9014 # Enable Large Send Offload (LSO) Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue Enabled Set-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName "Large Send Offload V2 (IPv6)" -DisplayValue Enabled
رجسٹری ٹویکس (اعلی درجے کی - احتیاط کے ساتھ استعمال کریں)
# These settings are typically NOT needed on Windows 10/11 due to auto-tuning # Only modify if auto-tuning is disabled or problematic # Registry path: HKLM\System\CurrentControlSet\Services\Tcpip\Parameters # Maximum TCP window size (if auto-tuning disabled) # TcpWindowSize = 16777216 (16MB) - REG_DWORD # Enable window scaling (enabled by default on modern Windows) # Tcp1323Opts = 3 - REG_DWORD # Number of TCP Timed Wait Delay # TcpTimedWaitDelay = 30 - REG_DWORD (default 240)
macOS بفر ٹیوننگ
Legacy macOS کی ترتیبات (Circa 2009 - Mac OS X 10.5/10.6)
| پیرامیٹر | میراثی قدر (2009) | تفصیل |
|---|---|---|
| kern.ipc.maxsockbuf | 262144 (256KB) | زیادہ سے زیادہ ساکٹ بفر سائز |
| net.inet.tcp.sendspace | 32768 (32KB) | ڈیفالٹ TCP بفر بھیجیں۔ |
| net.inet.tcp.recvspace | 32768 (32KB) | پہلے سے طے شدہ TCP بفر وصول کرتا ہے۔ |
| net.inet.tcp.autorcvbufmax | 131072 (128KB) | زیادہ سے زیادہ خود کار طریقے سے موصول ہونے والا بفر |
| net.inet.tcp.autosndbufmax | 131072 (128KB) | زیادہ سے زیادہ آٹو ٹیونڈ بھیجنے والا بفر |
| net.inet.tcp.rfc1323 | 0 (غیر فعال) | TCP ونڈو اسکیلنگ |
موجودہ macOS ترتیبات (macOS 12-15 Monterey بذریعہ Sequoia)
| پیرامیٹر | موجودہ تجویز کردہ قدر | تفصیل |
|---|---|---|
| kern.ipc.maxsockbuf | 8388608 (8MB) | زیادہ سے زیادہ ساکٹ بفر سائز |
| net.inet.tcp.sendspace | 131072 (128KB) | ڈیفالٹ TCP بفر بھیجیں۔ |
| net.inet.tcp.recvspace | 131072 (128KB) | پہلے سے طے شدہ TCP بفر وصول کرتا ہے۔ |
| net.inet.tcp.autorcvbufmax | 16777216 (16MB) | زیادہ سے زیادہ خود کار طریقے سے موصول ہونے والا بفر |
| net.inet.tcp.autosndbufmax | 16777216 (16MB) | زیادہ سے زیادہ آٹو ٹیونڈ بھیجنے والا بفر |
| net.inet.tcp.rfc1323 | 1 (فعال) | TCP ونڈو اسکیلنگ کو فعال کریں۔ |
| net.inet.tcp.sack | 1 (فعال) | انتخابی اعتراف کو فعال کریں۔ |
| net.inet.tcp.mssdflt | 1440 | پہلے سے طے شدہ TCP زیادہ سے زیادہ سیگمنٹ سائز |
| net.inet.tcp.delayed_ack | 3 | تاخیر ACK سلوک |
macOS کنفیگریشن ایپلی کیشن
# Check current settings sysctl kern.ipc.maxsockbuf sysctl net.inet.tcp.sendspace sysctl net.inet.tcp.recvspace sysctl net.inet.tcp.autorcvbufmax sysctl net.inet.tcp.autosndbufmax # Apply settings temporarily (until reboot) sudo sysctl -w kern.ipc.maxsockbuf=8388608 sudo sysctl -w net.inet.tcp.sendspace=131072 sudo sysctl -w net.inet.tcp.recvspace=131072 sudo sysctl -w net.inet.tcp.autorcvbufmax=16777216 sudo sysctl -w net.inet.tcp.autosndbufmax=16777216 sudo sysctl -w net.inet.tcp.rfc1323=1 sudo sysctl -w net.inet.tcp.sack=1 # Make settings persistent (create /etc/sysctl.conf) sudo tee /etc/sysctl.conf <<EOF kern.ipc.maxsockbuf=8388608 net.inet.tcp.sendspace=131072 net.inet.tcp.recvspace=131072 net.inet.tcp.autorcvbufmax=16777216 net.inet.tcp.autosndbufmax=16777216 net.inet.tcp.rfc1323=1 net.inet.tcp.sack=1 net.inet.tcp.mssdflt=1440 net.inet.tcp.delayed_ack=3 EOF # Note: On recent macOS versions, /etc/sysctl.conf may not be read automatically # Use a LaunchDaemon to apply settings at boot
مستقل ترتیبات کے لئے لانچ ڈیمون بنانا
# Create /Library/LaunchDaemons/com.local.sysctl.plist
sudo tee /Library/LaunchDaemons/com.local.sysctl.plist <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.local.sysctl</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/sysctl</string>
<string>-w</string>
<string>kern.ipc.maxsockbuf=8388608</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
EOF
sudo chmod 644 /Library/LaunchDaemons/com.local.sysctl.plist
sudo launchctl load /Library/LaunchDaemons/com.local.sysctl.plist
کارکردگی کی جانچ اور توثیق
بفر کی کارکردگی کی جانچ کے لیے ٹولز
iperf3 - نیٹ ورک پرفارمنس ٹیسٹنگ
# Server side iperf3 -s # Client side - test TCP throughput iperf3 -c server_ip -t 60 -i 5 -w 16M # Test with multiple parallel streams iperf3 -c server_ip -P 10 -t 60 # Test UDP performance iperf3 -c server_ip -u -b 1000M -t 60
tcpdump - TCP ونڈو سائز کیپچر کریں۔
# Capture and display TCP window sizes tcpdump -i any -n 'tcp' -vv | grep -i window # Save capture for Wireshark analysis tcpdump -i any -w /tmp/capture.pcap 'tcp port 443'
وائر شارک تجزیہ
بفر مسائل کے ان اشارے تلاش کریں:
- ٹی سی پی زیرو ونڈو پیغامات
- ٹی سی پی ونڈو اپڈیٹ پیکٹ
- ٹی سی پی ونڈو مکمل اطلاعات
- کم RTT کے ساتھ اعلی ری ٹرانسمیشن کی شرح
سسٹم مانیٹرنگ
# Linux - Monitor network buffer statistics watch -n 1 'cat /proc/net/sockstat' watch -n 1 'ss -tm | grep -i mem' # Check for drops netstat -s | grep -i drop # Windows - Monitor TCP statistics netstat -e 1 # macOS - Monitor network statistics netstat -s -p tcp
بینڈوتھ-تاخیر پروڈکٹ (BDP) کیلکولیشن
اپنے نیٹ ورک کے لیے بہترین بفر سائز کا تعین کرنے کے لیے، بینڈوتھ ڈیلے پروڈکٹ کا حساب لگائیں:
BDP = Bandwidth (bits/sec) × RTT (seconds) Example for 10 Gigabit Ethernet with 50ms RTT: BDP = 10,000,000,000 × 0.050 = 500,000,000 bits = 62.5 MB Buffer Size = BDP × 2 (for bidirectional traffic and headroom) Buffer Size = 62.5 MB × 2 = 125 MB This is why modern settings recommend 128MB maximum buffers.
کام کے بوجھ سے متعلق مخصوص سفارشات
| کام کے بوجھ کی قسم | تجویز کردہ بفر سائز | کلیدی پیرامیٹرز |
|---|---|---|
| ویب سرور (کم تاخیر) | 4-16 MB | کم بفر، زیادہ کنکشن، تیز ردعمل |
| ڈیٹا بیس سرور | 16-32 MB | اعتدال پسند بفرز، مسلسل تھرو پٹ |
| فائل ٹرانسفر / بیک اپ | 64-128 MB | زیادہ سے زیادہ بفرز، اعلی تھرو پٹ ترجیح |
| ویڈیو سٹریمنگ | 32-64 MB | بڑے بفرز، مسلسل ترسیل کی شرح |
| HPC/ڈیٹا سینٹر | 128-256 MB | زیادہ سے زیادہ بفر، خصوصی بھیڑ کنٹرول |
| وائرلیس/موبائل | 2-8 MB | قدامت پسند بفرز، متغیر لیٹنسی ہینڈلنگ |
عام غلطیاں اور نقصانات
سے بچنے کے لئے غلطیاں
- اوور بفرنگ:ضرورت سے زیادہ بڑے بفر بفر بلوٹ کا سبب بن سکتے ہیں، تاخیر میں اضافہ
- یادداشت کی رکاوٹوں کو نظر انداز کرنا:بڑے بفر کنکشن کی گنتی سے ضرب کرتے ہیں۔ 10,000 کنکشنز اور 128MB بفرز والے سرور کو 1.25TB RAM کی ضرورت ہے
- بغیر کسی وجہ کے آٹو ٹیوننگ کو غیر فعال کرنا:جدید OS آٹو ٹیوننگ عام طور پر جامد ترتیبات سے بہتر ہے۔
- تبدیلیوں کے بعد جانچ نہیں کرنا:ہمیشہ حقیقی کام کے بوجھ کے ساتھ کارکردگی میں بہتری کی توثیق کریں۔
- NIC بفرز کو بھولنا:رنگ بفر کی تھکن ساکٹ بفرز سے آزادانہ طور پر ہوسکتی ہے۔
- متضاد ترتیبات:کلائنٹ اور سرور میں مطابقت پذیر بفر کنفیگریشن ہونا چاہیے۔
- بھیڑ کنٹرول کو نظر انداز کرنا:BBR اور CUBIC پرانے الگورتھم سے نمایاں طور پر بہتر ہیں۔
ٹربل شوٹنگ ورک فلو
- بیس لائن قائم کریں:iperf3 یا اسی طرح کے ٹولز سے موجودہ کارکردگی کی پیمائش کریں۔
- کیپچر پیکٹس:TCP ونڈو رویے کی شناخت کے لیے tcpdump/Wireshark استعمال کریں۔
- سسٹم کے اعدادوشمار چیک کریں:قطرے، بفر تھکن، دوبارہ منتقلی تلاش کریں۔
- بی ڈی پی کا حساب لگائیں:نظریاتی طور پر بہترین بفر سائز کا تعین کریں۔
- اضافی تبدیلیاں لاگو کریں:سب کچھ ایک ساتھ نہ بدلیں۔
- جانچ اور تصدیق کریں:اصل کارکردگی میں بہتری کی پیمائش کریں۔
- وقت کے ساتھ نگرانی کریں:یقینی بنائیں کہ ترتیبات مختلف بوجھ کے تحت بہترین رہیں
حوالہ جات اور مزید پڑھنا
- RFC 1323 - اعلی کارکردگی کے لیے TCP ایکسٹینشنز (ونڈو اسکیلنگ)
- RFC 2018 - TCP سلیکٹیو ایکنولجمنٹ آپشنز
- RFC 6928 - TCP کی ابتدائی ونڈو کو بڑھانا
- RFC 8312 - کیوبک کنجشن کنٹرول الگورتھم
- BBR کنجشن کنٹرول (گوگل) - https://research.google/pubs/pub45646/
- لینکس کرنل دستاویزات - networking/ip-sysctl.txt
- ونڈوز TCP/IP پرفارمنس ٹیوننگ گائیڈ (مائیکروسافٹ)
- ESnet نیٹ ورک ٹیوننگ گائیڈ - https://fasterdata.es.net/
نتیجہ
بفر تھکن کارکردگی کے مسائل کی ایک عام وجہ ہے جو نیٹ ورک سے متعلق معلوم ہوتی ہے۔ 2009 کی 128KB کی حد سے لے کر آج کی 128MB صلاحیتوں تک بفر سائزنگ کے ارتقاء کو سمجھ کر، نیٹ ورک انجینئر ان مسائل کی فوری شناخت اور حل کر سکتے ہیں۔
اہم نکات:
- جدید سسٹمز کو لیگیسی (2009) کنفیگریشنز سے نمایاں طور پر بڑے بفرز کی ضرورت ہوتی ہے۔
- اپنے مخصوص نیٹ ورک کے حالات کے لیے ہمیشہ BDP کا حساب لگائیں۔
- دستیاب ہونے پر OS آٹو ٹیوننگ کی خصوصیات استعمال کریں (ونڈوز، جدید لینکس)
- تبدیلیوں کی توثیق کے لیے نگرانی اور جانچ کریں۔
- ٹیوننگ کرتے وقت کام کے بوجھ سے متعلق مخصوص تقاضوں پر غور کریں۔
یاد رکھیں: ایک "نیٹ ورک کا مسئلہ" جو پیکٹ کے تجزیے سے ظاہر ہوتا ہے تاکہ TCP صفر ونڈوز کو ظاہر کیا جا سکے دراصل ایک میزبان سسٹم ریسورس کا مسئلہ ہے۔ مناسب بفر ٹیوننگ کے ساتھ، آپ ان غلط تشخیص کو ختم کر سکتے ہیں اور بہترین کارکردگی حاصل کر سکتے ہیں۔
آخری تازہ کاری: فروری 2، 2026
مصنف: Baud9600 تکنیکی ٹیم