
اختبار أداء DNS سريع وشامل مع التحقق من DNSSEC، ودعم DoH/DoT، وميزات المؤسسات
⚠️ هذا المشروع قد انتقل ولم يعد يُصان. قم بتثبيت الخلف:
pip install net-benchmarkالمستودع: https://github.com/net-benchmark/net-benchmark جميع الأوامر والأعلام الحالية تبقى متوافقة تمامًا.
اختبار سريع وشامل لأداء DNS مع التحقق من DNSSEC، ودعم DoH/DoT، وميزات المؤسسات```bash pip install dns-benchmark-tool dns-benchmark benchmark --use-defaults --formats csv,excel
> 🎉 **أكثر من 1,400 تحميل · أكثر من 600 مستخدم نشط**
> 🚀 **لوحة الويب أصبحت متاحة الآن!** [جرب BuildTools مجانًا →](https://buildtools.net)
---
**تتبع في الوقت الحقيقي**
[](https://github.com/frankovo/dns-benchmark-tool)
*شاهد استعلامات DNS أثناء الحركة*
**تتبع في الوقت الحقيقي - واجهة الويب**
[](https://github.com/frankovo/dns-benchmark-tool)
*مراقبة استعلامات DNS مباشرة مع تنبيهات البريد الإلكتروني*
</div>
## 🎉 ما الجديد في 
أضفنا **ثلاثة أوامر CLI قوية** ودعمًا كاملاً لـ **DoH وDoT وDNSSEC**:
- 🚀 **top** — ترتيب سريع للمحللين حسب السرعة والموثوقية
- 📊 **compare** — مقارنة جنبًا إلى جنب مع إحصائيات مفصلة وخيارات تصدير
- 🔄 **monitoring** — تتبع مستمر للأداء مع تنبيهات وتسجيل
- 🔒 **DoH / DoT / DNSSEC** — اختبارات DNS مشفرة مع بيانات مقايضة زمن الوصول الحقيقية```bash
# Quick resolver ranking
dns-benchmark top
# Compare resolvers side-by-side
dns-benchmark compare Cloudflare Google Quad9 --show-details
# Run monitoring for 1 hour with alerts
dns-benchmark monitoring --use-defaults --formats csv,excel --interval 30 --duration 3600 \
--alert-latency 150 --alert-failure-rate 5 --output monitor.log
# Encrypted DNS
dns-benchmark benchmark \
--resolvers "Cloudflare,Google" \
--domains "bing.com,google.com" \
--doh \
--doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
--iterations 1 \
--formats csv \
--output ./doh_results_explicit_urls
dns-benchmark benchmark \
--resolvers "Cloudflare,Quad9" \
--domains "cloudflare.com,quad9.net" \
--dot
غالبًا ما يكون تحليل DNS عنق الزجاجة الخفي في أداء الشبكة. يمكن أن يضيف المحلل البطيء مئات الميلي ثانية لكل طلب.
تساعدك أداة dns-benchmark-tool على:
pip install dns-benchmark-tool
### تشغيل أول اختبار أداء لك```bash
# Test default resolvers against popular domains
dns-benchmark benchmark --use-defaults --formats csv,excel
يتم حفظ النتائج تلقائيًا في ./benchmark_results/ مع:
هذا كل شيء! لقد قمت للتو باختبار 5 محللات DNS مقابل 10 نطاقات.
dns-benchmark top --limit 5
dns-benchmark compare Cloudflare Google Quad9 --show-details
dns-benchmark monitoring --use-defaults --dot
--interval 30 --duration 3600
--alert-latency 150 --output monitor.log
---
## ✨ الميزات الرئيسية
### 🚀 الأداء
- **استعلامات غير متزامنة** - اختبار أكثر من 100 محلل في نفس الوقت
- **تكرار متعدد** - تشغيل المعايير عدة مرات للدقة
- **تحليل إحصائي** - المتوسط، الوسيط، P95، P99، التذبذب، الاتساق
- **التحكم في ذاكرة التخزين المؤقت** - اختبار مع/بدون تخزين DNS مؤقت
### 🔒 الأمان والخصوصية
- **التحقق من DNSSEC** - التحقق من سلاسل الثقة المشفرة
- **DNS عبر HTTPS (DoH)** - قياس أداء DNS المشفر
- **DNS عبر TLS (DoT)** - اختبار النقل الآمن
- **DNS عبر QUIC (DoQ)** - دعم تجريبي لـ QUIC
### 📊 التحليل والتصدير
- **صيغ متعددة** - CSV، Excel، PDF، JSON
- **تقارير بصرية** - رسوم بيانية ومخططات
- **إحصائيات النطاقات** - تحليل أداء لكل نطاق
- **تقسيم الأخطاء** - تحديد المحللين الذين يعانون من مشاكل
### 🏢 ميزات المؤسسات
- **مصادقة TSIG** - استعلامات مؤسسية آمنة
- **نقل النطاقات** - التحقق من AXFR/IXFR
- **التحديثات الديناميكية** - اختبار عمليات كتابة DNS
- **تقارير الامتثال** - وثائق جاهزة للتدقيق
### 🌐 عبر المنصات
- **لينكس، ماك، ويندوز** - يعمل في كل مكان
- **متوافق مع CI/CD** - مخرجات JSON، رموز الخروج
- **دعم IDNA** - أسماء النطاقات الدولية
- **الكشف التلقائي** - اكتشاف DNS عبر WMI في ويندوز
---
## 🔒 الأمان و DNS المشفر
ثلاثة بروتوكولات مدعومة بالكامل - كل منها يضيف خصوصية بتكلفة زمن وصول.
| البروتوكول | العلامة | التكلفة النموذجية الإضافية | متى تستخدم |
|---|---|---|---|
| UDP العادي | *(افتراضي)* | خط الأساس | قياس أداء زمن الوصول |
| DNS عبر HTTPS | `--doh` | +50–200 مللي ثانية | الخصوصية، تجاوز جدار الحماية |
| DNS عبر TLS | `--dot` | +200–500 مللي ثانية (بارد)، ~50 مللي ثانية (دافئ) | نقل مشفر |
| DNSSEC | `--dnssec-validate` | +30–100 مللي ثانية | التحقق من سلامة المحلل |
> ⚠️ **مقايضات**
> - يضيف DoH و DoT تكلفة مصافحة TLS عند أول استعلام لكل محلل. استخدم `--warmup-fast` لاستيعاب ذلك قبل القياس.
> - يطلب `--dnssec-validate` سجلات RRSIG ويفرض علامة AD. حوالي 33% فقط من النطاقات الشائعة موقعة بـ DNSSEC - توقع نتائج `DNSSEC_FAILED` على النطاقات غير الموقعة. أرقام زمن الوصول مع وبدون هذه العلامة **غير قابلة للمقارنة المباشرة**.
> - ستظهر النتائج على الجوال/نقطة الاتصال تباينًا أعلى بـ 2–5 مرات من الإيثرنت السلكي. استخدم `--iterations 5` وقارن متوسط زمن الوصول، وليس المتوسط الحسابي.```bash
# DoH benchmark
dns-benchmark benchmark \
--resolvers "Cloudflare,Google" \
--domains "cloudflare.com,google.com" \
--doh --warmup-fast
# custom resolvers — must supply urls 1:1, order matters, or it fails early
dns-benchmark benchmark \
--resolvers "Cloudflare,Google" \
--domains "bing.com,google.com" \
--doh \
--doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
--iterations 1 \
--formats csv \
--output ./doh_results_explicit_urls
# DoT with DNSSEC on signed domains
dns-benchmark benchmark \
--resolvers "Cloudflare,Quad9" \
--domains "cloudflare.com,quad9.net" \
--dot \
--dnssec-validate
# DOH rank top resolvers
dns-benchmark top --doh --limit 5
# DOT rank top resolvers
dns-benchmark top --dot --metric reliability --limit 5
# Compare DoH resolvers
dns-benchmark compare Cloudflare Google --doh --iterations 3
# Monitor with DoT
dns-benchmark monitoring --use-defaults --dot \
--interval 60 --alert-latency 300
# DoH + DNSSEC enforced + export
dns-benchmark benchmark --use-defaults --doh --dnssec-validate --formats csv,excel
# DoT + DNSSEC enforced + multiple iterations
dns-benchmark benchmark \
--resolvers "Cloudflare,Quad9,Google" \
--domains "cloudflare.com,quad9.net,google.com" \
--dot \
--dnssec-validate \
--iterations 5 \
--formats excel
# DoH + custom urls + monitoring
dns-benchmark monitoring \
--resolvers "Cloudflare,Google" \
--doh \
--doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
--interval 30 --duration 7200
أمثلة الفشل المبكر — هذه تفشل فورًا قبل تشغيل أي استعلام:```bash
dns-benchmark benchmark --use-defaults --doh --dot
dns-benchmark benchmark --resolvers "Cloudflare,Google" --doh
--doh-url "https://cloudflare-dns.com/dns-query"
dns-benchmark benchmark --resolvers "192.168.1.1" --doh
---
## 🔧 القدرات المتقدمة
---
> ⚠️ هذه العلامات **موثقة للظهور** ولكنها غير منفذة بعد.
> إنها تمثل ميزات متقدمة قادمة.
- `--zone-transfer` → اختبار نقل النطاق AXFR/IXFR *(قريبًا)*
- `--tsig` → استعلامات موثقة بـ TSIG *(قريبًا)*
- `--idna` → دعم أسماء النطاقات الدولية *(قريبًا)*
---
<details>
<summary><b>🚀 ميزات الأداء والتزامن</b></summary>
<br>
- **I/O غير متزامن مع dnspython** - اختبر أكثر من 100 محلل في وقت واحد
- **دعم إطار Trio** - عمليات غير متزامنة عالية التزامن
- **التزامن القابل للتكوين** - تحكم في الحد الأقصى للاستعلامات المتزامنة
- **منطق إعادة المحاولة** - تأخير أسي للاستعلامات الفاشلة
- **محاكاة التخزين المؤقت** - اختبر مع/بدون تخزين DNS المؤقت
- **معايير متعددة التكرارات** - تشغيل الاختبارات عدة مرات للدقة
- **مرحلة التسخين** - تسخين مسبق لذاكرة التخزين المؤقت DNS قبل الاختبار
- **التحليل الإحصائي** - المتوسط، الوسيط، P95، P99، التذبذب، درجات الاتساق
**مثال:**```bash
dns-benchmark benchmark \
--max-concurrent 200 \
--iterations 5 \
--timeout 3.0 \
--warmup
مثال:```bash
dns-benchmark benchmark
--doh
--resolvers doh-providers.json
--dnssec-validate
</details>
<details>
<summary><b>🏢 ميزات المؤسسات والترحيل</b></summary>
<br>
- **نقل المناطق (AXFR/IXFR)** - التحقق من نقل المنطقة الكامل والتزايدي
- **تحديثات DNS الديناميكية** - اختبار عمليات كتابة DNS والتحديثات
- **دعم EDNS0** - خيارات DNS الموسعة، الشبكة الفرعية للعميل، أحجام الحمولة الأكبر
- **تكامل WMI في Windows** - الكشف التلقائي عن إعدادات DNS النشطة للنظام
- **التقارير الامتثالية** - إنشاء تقارير جاهزة للتدقيق بصيغة PDF/Excel
- **التحقق من SLA** - تتبع أوقات التشغيل وحدود الأداء
**مثال:**```bash
# Validate DNS migration
dns-benchmark benchmark \
--resolvers old-provider.json,new-provider.json \
--zone-transfer \ # coming soon
--output migration-report/ \
--formats pdf,excel
مثال:```bash
dns-benchmark benchmark
--use-defaults
--formats csv,excel
--domain-stats
--record-type-stats
--error-breakdown
--formats csv,excel,pdf
</details>
<details>
<summary><b>🌐 التدويل والتوافق</b></summary>
<br>
- **دعم IDNA** - أسماء النطاقات الدولية (IDN)
- **أنواع سجلات متعددة** - A, AAAA, MX, TXT, CNAME, NS, SOA, PTR, SRV, CAA
- **عبر المنصات** - Linux, macOS, Windows (دعم أصلي)
- **تكامل CI/CD** - إخراج JSON, رموز الخروج الصحيحة, الوضع الصامت
- **حلالات مخصصة** - تحميل من JSON, اختبار خوادم DNS الخاصة بك
- **نطاقات مخصصة** - اختبار ضد قائمة النطاقات المحددة الخاصة بك
**مثال:**```bash
# Test internationalized domains
dns-benchmark benchmark \
--domains international-domains.txt \
--record-types A,AAAA,MX \
--resolvers custom-resolvers.json
💡 يحتاج معظم المستخدمين فقط إلى الميزات الأساسية. هذه الإمكانيات المتقدمة متاحة عند الحاجة إليها.
dns-benchmark benchmark
--domains api.myapp.com,cdn.myapp.com
--record-types A,AAAA
--resolvers production.json
--iterations 10
**النتيجة:** تقليل زمن استجابة API بمقدار 100-300ms
---
### 🛡️ لـ DevOps/SRE: التحقق قبل الترحيل```bash
# Test new DNS provider before switching
dns-benchmark benchmark \
--resolvers current-dns.json,new-dns.json \
--use-defaults \
--dnssec-validate \
--output migration-report/ \
--formats csv,excel
النتيجة: التحقق من الأداء والأمان قبل الترحيل
dns-benchmark compare
--resolvers pihole.local,1.1.1.1,8.8.8.8,9.9.9.9
--domains common-sites.txt
--rounds 10
**النتيجة:** إثبات قائم على البيانات أن خادم DNS المستضاف ذاتيًا أسرع (أو لا!)
---
### 📊 لمسؤولي الشبكات: فحوصات صحية آلية```bash
# Add to crontab for monthly reports
0 0 1 * * dns-benchmark benchmark \
--use-defaults \
--output /var/reports/dns/ \
--formats excel,csv \
--domain-stats \
--error-breakdown
النتيجة: التقارير التلقائية للامتثال واتفاقيات مستوى الخدمة
dns-benchmark benchmark
--doh
--resolvers privacy-resolvers.json
--domains sensitive-sites.txt
--dnssec-validate
**النتيجة:** ابحث عن أسرع DNS مشفّر دون التضحية بالخصوصية
---
## 📦 التثبيت والإعداد
### المتطلبات
- Python 3.9+
- مدير الحزم pip
### التثبيت من PyPI```bash
pip install dns-benchmark-tool
git clone https://github.com/frankovo/dns-benchmark-tool.git cd dns-benchmark-tool pip install -e .
### التحقق من التثبيت```bash
dns-benchmark --version
dns-benchmark --help
dns-benchmark benchmark --use-defaults --formats csv,excel
---
## 📖 أمثلة الاستخدام
### الاستخدام الأساسي```bash
# Basic test with progress bars
dns-benchmark benchmark --use-defaults --formats csv,excel
# Basic test without progress bars
dns-benchmark benchmark --use-defaults --formats csv,excel --quiet
# Test with custom resolvers and domains
dns-benchmark benchmark --resolvers data/resolvers.json --domains data/domains.txt
# Quick test with only CSV output
dns-benchmark benchmark --use-defaults --formats csv
dns-benchmark benchmark --use-defaults --json --output ./results
dns-benchmark benchmark --use-defaults --formats csv,excel --record-types A,AAAA,MX
dns-benchmark benchmark
--use-defaults
--output ./my-results
--formats csv,excel
dns-benchmark benchmark
--use-defaults
--formats csv,excel
--record-type-stats
--error-breakdown
dns-benchmark benchmark
--use-defaults
--formats csv,excel
--max-concurrent 200
--timeout 3.0
--retries 3
dns-benchmark benchmark
--resolvers data/global_resolvers.json
--domains data/migration_domains.txt
--formats excel,pdf
--output ./migration_analysis
dns-benchmark benchmark
--resolvers data/provider_candidates.json
--domains data/business_domains.txt
--formats csv,excel
--output ./provider_selection
dns-benchmark benchmark
--resolvers "192.168.1.1,1.1.1.1,8.8.8.8"
--domains "problematic-domain.com,working-domain.com"
--timeout 10
--retries 3
--formats csv
--output ./troubleshooting
dns-benchmark benchmark
--resolvers data/security_resolvers.json
--domains data/security_test_domains.txt
--formats pdf
--output ./security_assessment
dns-benchmark benchmark
--use-defaults
--formats csv
--quiet
--output /var/log/dns_benchmark/$(date +%Y%m%d_%H%M%S)
dns-benchmark top
dns-benchmark top --limit 5
dns-benchmark top --metric success
dns-benchmark top --metric reliability
dns-benchmark top --category privacy dns-benchmark top --category family dns-benchmark top --category security
dns-benchmark top --domains domains.txt
dns-benchmark top --record-types A,AAAA,MX
dns-benchmark top --timeout 3.0 --max-concurrent 50
dns-benchmark top --output results.json
dns-benchmark top --output results.csv
dns-benchmark top --output results.txt
dns-benchmark top --quiet
dns-benchmark top --limit 10 --metric reliability --category privacy --output top_resolvers.csv
dns-benchmark compare Cloudflare Google Quad9
dns-benchmark compare 1.1.1.1 8.8.8.8 9.9.9.9
dns-benchmark compare "Cloudflare" "Google" --iterations 5
dns-benchmark compare Cloudflare Google -d ./data/domains.txt
dns-benchmark compare Cloudflare Google -t A,AAAA,MX
dns-benchmark compare Cloudflare Google --timeout 3.0 --max-concurrent 200
dns-benchmark compare Cloudflare Google -o results.json
dns-benchmark compare Cloudflare Google -o results.csv
dns-benchmark compare Cloudflare Google --quiet
dns-benchmark compare Cloudflare Google --show-details
dns-benchmark monitoring --use-defaults
dns-benchmark monitoring -r resolvers.json --use-defaults
dns-benchmark monitoring -d domains.txt --use-defaults
dns-benchmark monitoring --use-defaults --interval 30
dns-benchmark monitoring --use-defaults --duration 3600
dns-benchmark monitoring --use-defaults --alert-latency 150 --alert-failure-rate 5
dns-benchmark monitoring --use-defaults --output monitor.log
dns-benchmark monitoring -r resolvers.json -d domains.txt -i 45 --duration 1800 -o monitor.log
dns-benchmark monitoring --use-defaults --interval 30 --duration 3600
--alert-latency 150 --alert-failure-rate 5 --output monitor.log
---
⚠️ **ملاحظة للأوامر الجديدة:** يتم استبعاد المحللين الذين ليس لديهم استعلامات ناجحة من التصنيف وسيظهرون `Avg Latency: N/A`.
---
## دعم الإدخال المضمّن للمحللين والنطاقات
يقدم هذا التصحيح دعمًا كاملاً للقيم المضمّنة المفصولة بفواصل
لعلامات `--resolvers` و `--domains`، مما يحل المشكلة [#39](https://github.com/frankovo/dns-benchmark-tool/issues/39) ويحسن قابلية استخدام واجهة الأوامر دون كسر أي سير عمل موجود.
### الإمكانيات الجديدة
1. **محللون مضمنون**: `--resolvers "1.1.1.1,8.8.8.8,9.9.9.9"`
2. **نطاقات مضمنة**: `--domains "google.com,github.com"`
3. **قيم مفردة**: `--resolvers "1.1.1.1"` أو `--domains "google.com"`
4. **محللون بأسماء**: `--resolvers "cloudflare,google,quad9"`
5. **إدخال مختلط**: `--resolvers "1.1.1.1,cloudflare,8.8.8.8"`
### التوافق العكسي
- جميع التكوينات المستندة إلى الملفات تستمر في العمل
- لا توجد تغييرات جذرية في واجهة الأوامر
- اكتشاف الملف له الأولوية على التحليل المضمّن
### أمثلة الاستخدام
#### قبل (كانت الملفات فقط تعمل)```bash
dns-benchmark benchmark \
--resolvers data/resolvers.json \
--domains data/domains.txt
dns-benchmark benchmark
--resolvers "1.1.1.1,8.8.8.8,9.9.9.9"
--domains "google.com,github.com"
--timeout 10
--retries 3
--formats csv
--output ./troubleshooting
dns-benchmark benchmark
--resolvers data/resolvers.json
--domains data/domains.txt
--formats csv
#### المحللون المُسَمَّوْن```bash
# Named resolvers
dns-benchmark benchmark \
--resolvers "Cloudflare,Google,Quad9" \
--domains "google.com,github.com" \
--timeout 10 \
--retries 3 \
--formats csv \
--output ./troubleshooting_named
dns-benchmark benchmark
--resolvers "1.1.1.1,Cloudflare,8.8.8.8"
--domains "google.com,github.com"
--timeout 10
--retries 3
--formats csv
--output ./troubleshooting_mixed
#### مفرد```bash
# Single
dns-benchmark benchmark \
--resolvers "1.1.1.1" \
--domains "google.com" \
--timeout 10 \
--retries 3 \
--formats csv \
--output ./troubleshooting
dns-benchmark list-defaults
dns-benchmark list-resolvers
dns-benchmark list-resolvers --details
dns-benchmark list-resolvers --category security dns-benchmark list-resolvers --category privacy dns-benchmark list-resolvers --category family
dns-benchmark list-resolvers --format csv dns-benchmark list-resolvers --format json
### إدارة النطاقات```bash
# List all test domains
dns-benchmark list-domains
# Show domains by category
dns-benchmark list-domains --category tech
dns-benchmark list-domains --category ecommerce
dns-benchmark list-domains --category social
# Limit results
dns-benchmark list-domains --count 10
dns-benchmark list-domains --category news --count 5
# Export domain list
dns-benchmark list-domains --format csv
dns-benchmark list-domains --format json
dns-benchmark list-categories
### إدارة التكوين```bash
# Generate sample configuration
dns-benchmark generate-config --output sample_config.yaml
# Category-specific configurations
dns-benchmark generate-config --category security --output security_test.yaml
dns-benchmark generate-config --category family --output family_protection.yaml
dns-benchmark generate-config --category performance --output performance_test.yaml
# Custom configuration for specific use case
dns-benchmark generate-config --category privacy --output privacy_audit.yaml
dns-benchmark benchmark --use-defaults
dns-benchmark benchmark --use-defaults --formats csv --quiet
dns-benchmark benchmark --use-defaults --record-types A,AAAA,MX
أعلام تحليلات الإضافة:```bash
# Include domain and record-type analytics and error breakdown
dns-benchmark benchmark --use-defaults \
--domain-stats --record-type-stats --error-breakdown
تصدير JSON:```bash
dns-benchmark benchmark --use-defaults --json --output ./results
#### مسؤول الشبكة```bash
# Compare internal vs external DNS
dns-benchmark benchmark \
--resolvers "192.168.1.1,1.1.1.1,8.8.8.8,9.9.9.9" \
--domains "internal.company.com,google.com,github.com,api.service.com" \
--formats excel,pdf \
--timeout 3 \
--max-concurrent 50 \
--output ./network_audit
# Test DNS failover scenarios
dns-benchmark benchmark \
--resolvers data/primary_resolvers.json \
--domains data/business_critical_domains.txt \
--record-types A,AAAA \
--retries 3 \
--formats csv,excel \
--output ./failover_test
dns-benchmark benchmark
--resolvers data/isp_resolvers.json
--domains data/popular_domains.txt
--timeout 5
--max-concurrent 100
--formats csv,excel,pdf
--output ./isp_performance_analysis
dns-benchmark benchmark
--resolvers data/regional_resolvers.json
--domains data/regional_domains.txt
--formats excel
--quiet
--output ./regional_analysis
#### المطور و DevOps```bash
# Test application dependencies
dns-benchmark benchmark \
--resolvers "1.1.1.1,8.8.8.8" \
--domains "api.github.com,registry.npmjs.org,pypi.org,docker.io,aws.amazon.com" \
--formats csv \
--quiet \
--output ./app_dependencies
# CI/CD integration test
dns-benchmark benchmark \
--resolvers data/ci_resolvers.json \
--domains data/ci_domains.txt \
--timeout 2 \
--formats csv \
--quiet
dns-benchmark benchmark
--resolvers data/security_resolvers.json
--domains data/malware_test_domains.txt
--formats csv,pdf
--output ./security_audit
dns-benchmark benchmark
--resolvers data/privacy_resolvers.json
--domains data/tracking_domains.txt
--formats excel
--output ./privacy_analysis
#### تقنية المعلومات المؤسسية```bash
# Corporate network assessment
dns-benchmark benchmark \
--resolvers data/enterprise_resolvers.json \
--domains data/corporate_domains.txt \
--record-types A,AAAA,MX,TXT,SRV \
--timeout 10 \
--max-concurrent 25 \
--retries 2 \
--formats csv,excel,pdf \
--output ./enterprise_dns_audit
# Multi-location testing
dns-benchmark benchmark \
--resolvers data/global_resolvers.json \
--domains data/international_domains.txt \
--formats excel \
--output ./global_performance
أداة اختبار DNS الآن تتضمن ثلاثة أوامر متخصصة لسير عمل مختلفة:
ترتيب المحللين بسرعة حسب السرعة والموثوقية.```bash
dns-benchmark top
dns-benchmark top -d domains.txt
dns-benchmark top -o results.json
---
### 📊 مقارنة
قياس أداء resolvers جنبًا إلى جنب مع إحصائيات مفصلة.```bash
# Compare Cloudflare, Google, and Quad9
dns-benchmark compare Cloudflare Google Quad9
# Compare by IP addresses
dns-benchmark compare 1.1.1.1 8.8.8.8 9.9.9.9
# Show detailed per-domain breakdown
dns-benchmark compare Cloudflare Google --show-details
# Export results to CSV
dns-benchmark compare Cloudflare Google -o results.csv
استمر في مراقبة أداء resolver مع التنبيهات.```bash
dns-benchmark monitoring --use-defaults
dns-benchmark monitoring -r resolvers.json -d domains.txt
dns-benchmark monitoring --use-defaults --interval 30 --duration 3600
--alert-latency 150 --alert-failure-rate 5 --output monitor.log
---
### 🌟 عرض الأوامر
| الأمر | الغرض | حالة الاستخدام النموذجية | الخيارات الرئيسية | المخرجات |
|--------------|---------|------------------|-------------|--------|
| **top** | ترتيب سريع للمحللين حسب السرعة والموثوقية | فحص سريع لمعرفة أفضل محلل في الوقت الحالي | `--domains`، `--record-types`، `--output` | قائمة مرتبة من المحللين مع زمن الاستجابة ومعدل النجاح |
| **compare** | مقارنة جنبًا إلى جنب لمحللين محددين | اختبار معياري مفصل عبر المحللين/المجالات المختارة | `--domains`، `--record-types`، `--iterations`، `--output`، `--show-details` | جدول المحللين مع زمن الاستجابة ومعدل النجاح وتحليل لكل مجال |
| **monitoring** | مراقبة مستمرة مع تنبيهات | تتبع فوري لأداء المحلل عبر الزمن | `--interval`، `--duration`، `--alert-latency`، `--alert-failure-rate`، `--output`، `--use-defaults` | مؤشرات الحالة الحية، تنبيهات، ملف سجل اختياري |
---
## 📊 تحسينات التحليل
- **عدد التكرارات**: يُعرض عند تشغيل أكثر من تكرار واحد.
- **عدد مرات الوصول إلى الذاكرة المؤقتة**: يظهر عدد الاستعلامات التي تمت خدمتها من الذاكرة المؤقتة (عند تمكين `--use-cache`).
- **تتبع الفشل**: يتم عد المحللين الذين لديهم أخطاء متكررة ويمكن فحصهم باستخدام `get_failed_resolvers()`.
- **إحصائيات الذاكرة المؤقتة**: متاحة عبر `get_cache_stats()`، تعرض عدد الإدخالات المخزنة مؤقتًا وما إذا كانت الذاكرة المؤقتة مفعلة.
- **نتائج الإحماء**: يتم تمييز استعلامات الإحماء بـ `iteration=0` في البيانات الخام، مما يسهل تصفيتها في التحليل.
مثال على مخرجات الملخص:
some example output here (not translated)
=== BENCHMARK SUMMARY ===
Total queries: 150
Successful: 140 (93.33%)
Average latency: 212.45 ms
Median latency: 198.12 ms
Fastest resolver: Cloudflare
Slowest resolver: Quad9
Iterations: 3
Cache hits: 40 (26.7%)
```
## ⚡ أفضل الممارسات
| الوضع | العلامات الموصى بها | الغرض |
|-----------------|------------------------------------------------------------------------------------|-------------------------------------------------------------------------|
| **تشغيل سريع** | `--iterations 1 --timeout 1 --retries 0 --warmup-fast` | ملاحظات سريعة، حد أدنى من إعادة المحاولة، إحماء خفيف. مناسب للفحوصات السريعة. |
| **تشغيل شامل**| `--iterations 3 --use-cache --warmup --timeout 5 --retries 2` | تمريرات متعددة، ذاكرة تخزين مؤقت ممكّنة، إحماء كامل. الأفضل للقياس التفصيلي. |
| **وضع التصحيح** | `--iterations 1 --timeout 10 --retries 0 --quiet` | مهلة طويلة، لا إعادة محاولة، مخرجات ضئيلة. مفيد لتشخيص مشكلات المحلل. |
| **تشغيل متوازن**| `--iterations 2 --use-cache --warmup-fast --timeout 2 --retries 1` | حل وسط: سرعة معتدلة، بعض إعادة المحاولة، ذاكرة تخزين مؤقت ممكّنة، إحماء سريع. |
## ⚙️ ملفات التكوين
### تنسيق JSON للمحللين```json
{
"resolvers": [
{
"name": "Cloudflare",
"ip": "1.1.1.1",
"ipv6": "2606:4700:4700::1111"
},
{
"name": "Google DNS",
"ip": "8.8.8.8",
"ipv6": "2001:4860:4860::8888"
}
]
}
```
### تنسيق ملف النص للنطاقات```txt
# Popular websites
google.com
github.com
stackoverflow.com
# Corporate domains
microsoft.com
apple.com
amazon.com
# CDN and cloud
cloudflare.com
aws.amazon.com
```
---
## صيغ المخرجات
### مخرجات CSV
- البيانات الخام: نتائج الاستعلامات الفردية مع الطوابع الزمنية والبيانات الوصفية
- إحصائيات الملخص: المقاييس المجمعة لكل محلل
- إحصائيات النطاق: المقاييس لكل نطاق (عند استخدام --domain-stats)
- إحصائيات نوع السجل: المقاييس لكل نوع سجل (عند استخدام --record-type-stats)
- تفصيل الأخطاء: الأعداد حسب نوع الخطأ (عند استخدام --error-breakdown)
### تقرير Excel
- ورقة البيانات الخام: جميع نتائج الاستعلامات مع التنسيق
- ملخص المحلل: إحصائيات شاملة مع تنسيق شرطي
- إحصائيات النطاق: أداء كل نطاق (اختياري)
- إحصائيات نوع السجل: أداء كل نوع سجل (اختياري)
- تفصيل الأخطاء: أعداد الأخطاء المجمعة (اختياري)
- تحليل الأداء: رسوم بيانية وتحليل مقارن
### تقرير PDF
- ملخص تنفيذي: النتائج الرئيسية والتوصيات
- رسوم بيانية للأداء: مقارنة زمن الاستجابة؛ رسم بياني لمعدل النجاح اختياري
- ترتيب المحللين: مرتبة حسب متوسط زمن الاستجابة
- تحليل مفصل: غوص تقني مع النسب المئوية
### 📄 تصدير PDF اختياري
افتراضيًا، تدعم الأداة تصدير **CSV** و **Excel**.
يتطلب تصدير PDF التبعية الإضافية **weasyprint**، والتي لا يتم تثبيتها تلقائيًا لتجنب مشكلات وقت التشغيل على بعض المنصات.
#### التثبيت مع دعم PDF
```
pip install dnsresolver[pdf]
``````bash
pip install dns-benchmark-tool[pdf]
```
#### الاستخدام
بمجرد التثبيت، يمكنك طلب إخراج PDF عبر CLI:```bash
dns-benchmark --use-defaults --formats pdf --output ./results
```
إذا لم يتم تثبيت `weasyprint` وطلبت إخراج PDF، فسيظهر CLI:```bash
[-] Error during benchmark: PDF export requires 'weasyprint'. Install with: pip install dns-benchmark-tool[pdf]
```
---
### ⚠️ إعداد WeasyPrint (لتصدير PDF)
أداة DNS Benchmark Tool تستخدم **WeasyPrint** لإنشاء تقارير PDF.
إذا كنت تريد تصدير PDF، فأنت بحاجة إلى مكتبات نظام إضافية بالإضافة إلى حزمة Python.
#### 🛠 Linux (Debian/Ubuntu)```bash
sudo apt install python3-pip libpango-1.0-0 libpangoft2-1.0-0 \
libharfbuzz-subset0 libjpeg-dev libopenjp2-7-dev libffi-dev
```
#### 🛠 macOS (Homebrew)```bash
brew install pango cairo libffi gdk-pixbuf jpeg openjpeg harfbuzz
```
---
#### 🛠 Windows
قم بتثبيت مكتبات GTK+ باستخدام إحدى هذه الطرق:
- **MSYS2**: [تنزيل MSYS2](https://www.msys2.org/)، ثم قم بتشغيل: ```bash
pacman -S mingw-w64-x86_64-gtk3 mingw-w64-x86_64-libffi
```
- **GTK+ 64‑bit Installer**: [Download GTK+ Runtime](https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer/releases) وقم بتشغيل المثبّت.
أعد تشغيل الطرفية بعد التثبيت.
---
#### ✅ تحقق من التثبيت
بعد تثبيت مكتبات النظام، قم بتثبيت الإضافة الإضافية لـ Python:```bash
pip install dns-benchmark-tool[pdf]
```
ثم قم بتشغيل:```bash
dns-benchmark --use-defaults --formats pdf --output ./results
```
### تصدير JSON
- حزمة قابلة للقراءة آليًا تشمل:
- إحصائيات عامة
- إحصائيات المحلل
- نتائج الاستعلام الخام
- إحصائيات النطاق
- إحصائيات نوع السجل
- تفصيل الأخطاء
### توليد نموذج تكوين```bash
dns-benchmark generate-config \
--category privacy \
--output my-config.yaml
```
## تحسين الأداء```bash
# Large-scale testing (1000+ queries)
dns-benchmark benchmark \
--resolvers data/many_resolvers.json \
--domains data/many_domains.txt \
--max-concurrent 50 \
--timeout 3 \
--quiet \
--formats csv
# Unstable networks
dns-benchmark benchmark \
--resolvers data/backup_resolvers.json \
--domains data/critical_domains.txt \
--timeout 10 \
--retries 3 \
--max-concurrent 10
# Quick diagnostics
dns-benchmark benchmark \
--resolvers "1.1.1.1,8.8.8.8" \
--domains "google.com,cloudflare.com" \
--formats csv \
--quiet \
--timeout 2
```
---
## استكشاف الأخطاء وإصلاحها```bash
# Command not found
pip install -e .
python -m dns_benchmark.cli --help
# PDF generation fails (Ubuntu/Debian)
sudo apt-get install libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \
libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
# Or skip PDF
dns-benchmark benchmark --use-defaults --formats csv,excel
# Network timeouts
dns-benchmark benchmark --use-defaults --timeout 10 --retries 3
dns-benchmark benchmark --use-defaults --max-concurrent 25
```
### وضع التصحيح```bash
# Verbose run
python -m dns_benchmark.cli benchmark --use-defaults --formats csv
# Minimal configuration
dns-benchmark benchmark --resolvers "1.1.1.1" --domains "google.com" --formats csv
```
## الأتمتة والتكامل المستمر
### مهام Cron```bash
# Daily monitoring
0 2 * * * /usr/local/bin/dns-benchmark benchmark --use-defaults --formats csv --quiet --output /var/log/dns_benchmark/daily_$(date +\%Y\%m\%d)
# Time-based variability (every 6 hours)
0 */6 * * * /usr/local/bin/dns-benchmark benchmark --use-defaults --formats csv --quiet --output /var/log/dns_benchmark/$(date +\%Y\%m\%d_\%H)
```
### مثال على GitHub Actions```yaml
- name: DNS Performance Test
run: |
pip install dnspython pandas click tqdm colorama
dns-benchmark benchmark \
--resolvers "1.1.1.1,8.8.8.8" \
--domains "api.service.com,database.service.com" \
--formats csv \
--quiet
```
---
## لقطات شاشة
ضع الصور في `docs/screenshots/`:
- `docs/screenshots/cli_run.png`
- `docs/screenshots/excel_report.png`
- `docs/screenshots/pdf_summary.png`
- `docs/screenshots/pdf_charts.png`
- `docs/screenshots/excel_charts.png`
- `docs/screenshots/real_time_monitoring.png`
### 1. تشغيل معيار CLI
[](https://github.com/frankovo/dns-benchmark-tool)
### 2. تقرير Excel الناتج
[](https://github.com/frankovo/dns-benchmark-tool)
### 3. ملخص تنفيذي بصيغة PDF
[](https://github.com/frankovo/dns-benchmark-tool)
### 4. رسوم بيانية بصيغة PDF
[](https://github.com/frankovo/dns-benchmark-tool)
### 5. رسوم بيانية بصيغة Excel
[](https://github.com/frankovo/dns-benchmark-tool)
### 6. مراقبة فورية
[](https://github.com/frankovo/dns-benchmark-tool)
---
## الحصول على المساعدة```bash
dns-benchmark --help
dns-benchmark benchmark --help
dns-benchmark list-resolvers --help
dns-benchmark list-domains --help
dns-benchmark list-categories --help
dns-benchmark generate-config --help
```
السيناريوهات الشائعة:```bash
# I'm new — where to start?
dns-benchmark list-defaults
dns-benchmark benchmark --use-defaults
# Test specific resolvers
dns-benchmark list-resolvers --category security
dns-benchmark benchmark --resolvers data/security_resolvers.json --use-defaults
# Generate a management report
dns-benchmark benchmark --use-defaults --formats excel,pdf \
--domain-stats --record-type-stats --error-breakdown --json \
--output ./management_report
```
---
## سير عمل الإصدار
- **المتطلبات الأساسية**
- **مفتاح GPG مُعد:** قم بتشغيل `make gpg-check` للتحقق.
- **حماية الفرع:** الفرع الرئيسي يتطلب تواقيع ملتزمة واجتياز CI.
- **نشر CI:** يُطلق عند الوسوم الموقعة التي تطابق vX.Y.Z.
- **تحضير الإصدار (موقّع)**
- **ترقية تصحيحية/ثانوية/رئيسية:**
```bash
make release-patch # أو: make release-minor / make release-major
```
- يُحدّث الإصدارات.
- ينشئ أو يعيد استخدام `release/X.Y.Z`.
- ينشئ التزامًا موقعًا ويدفع الفرع.
- **فتح طلب سحب:** من `release/X.Y.Z` إلى `main`، ثم دمجه بمجرد اجتياز CI.
- **الوسم والنشر**
- **إنشاء وسم موقع ودفعه:**
```bash
make release-tag VERSION=X.Y.Z
```
- يوسم الفرع الرئيسي بـ `vX.Y.Z` (موقع).
- ينشر CI إلى PyPI.
- **بديل يدوي**
- **إنشاء فرع والتزام موقع:**
```bash
git checkout -b release/manually-update-version-based-on-release-pattern
git add .
git commit -S -m "Release release/$NEXT_VERSION"
git push origin release/$NEXT_VERSION
```
- **فتح طلب سحب ودمجه في الفرع الرئيسي.**
- **ثم الوسم:**
```bash
make release-tag VERSION=$NEXT_VERSION
```
- **ملاحظات**
- **التزامات موقعة:** `git commit -S ...`
- **وسوم موقعة:** `git tag -s vX.Y.Z -m "Release vX.Y.Z"`
- **مصادر الإصدار:** `pyproject.toml` و `src/dns_benchmark/__init__.py`
---
## 🌐 لوحة تحكم ويب BuildTools — متاحة الآن
**الواجهة السطرية تبقى مجانية للأبد.** لوحة التحكم الويب متاحة الآن على [buildtools.net](https://buildtools.net)
### ما هو متاح الآن (مجاني + محترف)
- 📊 **قياس أداء DNS** — نتائج مرئية، تاريخ، مدعوم بمحرك هذه الواجهة السطرية
- 🔔 **مراقبة DNS** — تنبيهات فورية عند تغيير سجلاتك
- 🆓 **الطبقة المجانية** — ابدأ فورًا، لا حاجة لبطاقة ائتمان
- 💼 **محترف بـ 14 يورو/شهر** — فترة احتفاظ ممتدة ودعم ذو أولوية
### قادم في الربع الثاني 2026
- ⚡ **قياس أداء HTTP** — قياس أوقات استجابة API وأداء CDN
- 🔒 **مراقب SSL** — تنبيهات انتهاء الشهادة قبل حدوث المشكلات
### قادم في الربع الثالث 2026
- 🌍 **اختبار متعدد المناطق** — الاختبار من مواقع متعددة في وقت واحد
[→ سجل مجانًا على buildtools.net](https://buildtools.net)
---
## 🛣️ خريطة الطريق
### ✅ الإصدار الحالي (إصدار الواجهة السطرية)
- قياس أداء، مقارنة، مراقبة محللات DNS
- دعم DoH و DoT و DNSSEC (جديد في هذا الإصدار)
- تصدير إلى CSV و Excel و PDF و JSON
### ✅ لوحة التحكم الويب (متاحة)
- قياس أداء DNS مع تاريخ مرئي
- مراقبة DNS مع تنبيهات فورية
- الطبقة المجانية + محترف بـ 14 يورو/شهر
- [buildtools.net](https://buildtools.net)
### 🔜 قادم في الربع الثاني 2026
- قياس أداء HTTP
- مراقب SSL
#### الربع الثالث 2026
- اختبار متعدد المناطق
---
## 🤝 المساهمة
نحن نحب المساهمات! إليك كيف يمكنك المساعدة:
### طرق المساهمة
- 🐛 **الإبلاغ عن الأخطاء** - [افتح مشكلة](https://github.com/frankovo/dns-benchmark-tool/issues)
- 💡 **اقتراح ميزات** - [ابدأ نقاشًا](https://github.com/frankovo/dns-benchmark-tool/discussions)
- 📝 **تحسين التوثيق** - README، أمثلة، دروس تعليمية
- 🔧 **تقديم طلبات سحب** - إصلاحات الأخطاء، الميزات، الاختبارات
- ⭐ **إضافة نجمة للمستودع** - ساعد الآخرين في اكتشاف الأداة
- 📢 **نشر الكلمة** - تغريدة، مدونة، مشاركة
### 🛠 التطوير وأوامر Makefile
يتضمن هذا المشروع `Makefile` لتبسيط التثبيت، الاختبار، وفحوص جودة الكود.```makefile
.PHONY: install install-dev uninstall mypy black isort flake8 cov test clean cli-test
# 🔧 Install package (runtime only)
install:
pip install .
# 🔧 Install package with dev extras (pytest, mypy, flake8, black, isort, etc.)
install-dev:
pip install .[dev]
# 🔧 Uninstall package
uninstall:
pip uninstall -y dns-benchmark-tool \
dnspython pandas aiohttp click pyfiglet colorama Jinja2 weasyprint openpyxl pyyaml tqdm matplotlib \
mypy black flake8 autopep8 pytest coverage isort
mypy:
mypy .
isort:
isort .
black:
black .
flake8:
flake8 src tests --ignore=E126,E501,E712,F405,F403,E266,W503 --max-line-length=88 --extend-ignore=E203
cov:
coverage erase
coverage run --source=src -m pytest -vv -s
coverage html
test: mypy black isort flake8 cov
clean:
rm -rf __pycache__ .pytest_cache htmlcov .coverage coverage.xml \
build dist *.egg-info .eggs benchmark_results
cli-test:
# Run only the CLI smoke tests marked with @pytest.mark.cli
pytest -vv -s -m cli tests/test_cli_commands.py
```
### الاستخدام الشائع
- **تثبيت وقت التشغيل فقط** ```bash
make install
```
- **التثبيت مع التبعيات التطويرية** ```bash
make install-dev
```
- **تشغيل فحوصات الأنواع، وتنظيف الكود، وتنسيقه، واختباراته** ```bash
make test
```
- **تشغيل اختبارات الدخان الخاصة بواجهة سطر الأوامر فقط** ```bash
make cli-test
```
- **تنظيف مخرجات البناء/الاختبار** ```bash
make clean
```
---
### إرشادات الكود
- اتبع دليل نمط PEP 8
- أضف اختبارات للميزات الجديدة
- حدّث التوثيق
- حافظ على تركيز طلبات السحب (PRs) وجعلها ذرية
---
## ❓ الأسئلة الشائعة
<details>
<summary><b>لماذا ليس DNS الخاص بمزود خدمة الإنترنت لدي هو الأسرع؟</b></summary>
غالبًا ما يكون لدى DNS الخاص بمزود خدمة الإنترنت المحلي مزايا تخزين مؤقت ولكنه قد يفتقر إلى:
- شبكة أي كاست عالمية (أبطأ للنطاقات البعيدة)
- التحقق من صحة DNSSEC
- ميزات الخصوصية (DoH/DoT)
- ضمانات الموثوقية
اختبر كليهما وقرر بناءً على أولوياتك!
</details>
<details>
<summary><b>كم مرة يجب أن أقوم بقياس أداء DNS؟</b></summary>
- **لمرة واحدة**: عند اختيار مزود DNS
- **شهرياً**: لفحص صحة الشبكة
- **قبل الترحيل**: عند تغيير المزودين
- **بعد المشكلات**: لاستكشاف الأداء
</details>
<details>
<summary><b>هل يمكنني اختبار خادم DNS الخاص بي؟</b></summary>
نعم! فقط أضفه إلى ملف JSON مخصص للمُحلّلات (resolvers):
</details>```json
{
"resolvers": [
{"name": "My DNS", "ip": "192.168.1.1"}
]
}
```
</details>
<details>
<summary><b>ما الفرق بين الإصدار CLI والإصدار المستضاف؟</b></summary>
**CLI (مجاني للأبد):**
- تشغيل الاختبارات من موقعك
- حفظ النتائج محلياً
- مفتوح المصدر — نفس المحرك الذي يشغل لوحة التحكم
**لوحة التحكم على الويب (متاحة على buildtools.net):**
- نتائج وأدلة معيارية مرئية مع السجل
- مراقبة DNS مع تنبيهات فورية
- الطبقة المجانية متاحة، والاحترافية بـ 14 يورو/شهر
- اختبار متعدد المناطق قادم في الربع الثالث 2026
</details>
<details>
<summary><b>هل هذه الأداة آمنة للاستخدام في الإنتاج؟</b></summary>
نعم! الأداة تقوم فقط بعمليات بحث DNS (عمليات قراءة). لا تقوم بـ:
- تعديل سجلات DNS
- تنفيذ هجمات
- إرسال البيانات إلى خوادم خارجية (إلا إذا قمت بتمكين الميزات المستضافة)
جميع الاختبارات هي استعلامات DNS قياسية يتعامل معها أي محلل يومياً.
</details>
<details>
<summary><b>لماذا تختلف النتائج بين التشغيلات؟</b></summary>
أداء DNS يختلف بسبب:
- ظروف الشبكة
- التخزين المؤقت لـ DNS (المحلل والوسيط)
- حمل الخادم
- تغييرات التوجيه الجغرافي
قم بتشغيل عدة تكرارات (`--iterations 5`) للحصول على نتائج أكثر اتساقاً.
</details>
---
## 🔗 الروابط والدعم
### رسمي
- **الموقع الإلكتروني**: [buildtools.net](https://buildtools.net)
- **PyPI**: [dns-benchmark-tool](https://pypi.org/project/dns-benchmark-tool/)
- **GitHub**: [frankovo/dns-benchmark-tool](https://github.com/frankovo/dns-benchmark-tool)
### المجتمع
- **المناقشات**: [مناقشات GitHub](https://github.com/frankovo/dns-benchmark-tool/discussions)
- **القضايا**: [تقارير الأخطاء](https://github.com/frankovo/dns-benchmark-tool/issues)
### الإحصائيات
- **التنزيلات**: أكثر من 1,400 (هذا الأسبوع)
- **المستخدمون النشطون**: أكثر من 600
---
## الترخيص
هذا المشروع مرخص بموجب رخصة MIT — راجع ملف [LICENSE](https://github.com/net-benchmark/dns-benchmark-tool/blob/HEAD/LICENSE) للتفاصيل.
---
<div align="center">
**مبني بـ ❤️ بواسطة [@frankovo](https://github.com/frankovo)**
جزء من [BuildTools](https://buildtools.net) - مجموعة أدوات أداء الشبكة
[⭐ نجم على GitHub](https://github.com/frankovo/dns-benchmark-tool) • [📦 التثبيت من PyPI](https://pypi.org/project/dns-benchmark-tool/)
</div>
| الأمر | الوظيفة | مثال سريع |
|---|
benchmark | اختبار DNS كامل مع التصدير | dns-benchmark benchmark --use-defaults |
top | ترتيب جميع المحللات حسب السرعة | dns-benchmark top --limit 5 |
compare | مقارنة محللات جنبًا إلى جنب | dns-benchmark compare Cloudflare Google Quad9 |
monitoring | مراقبة مستمرة مع التنبيهات | dns-benchmark monitoring --use-defaults |
| الخيار | الوصف | المثال |
|---|
--iterations, -i | تشغيل حلقة الاختبار المعياري الكاملة N مرة | dns-benchmark benchmark --use-defaults -i 3 |
--use-cache | السماح بإعادة استخدام النتائج المخزنة مؤقتًا عبر التكرارات | dns-benchmark benchmark --use-defaults -i 3 --use-cache |
--warmup | تشغيل إحماء كامل (جميع المحللين × النطاقات × أنواع السجلات) | dns-benchmark benchmark --use-defaults --warmup |
--warmup-fast | تشغيل إحماء خفيف (اختبار واحد لكل محلل) | dns-benchmark benchmark --use-defaults --warmup-fast |
--include-charts | تضمين الرسوم البيانية في تقارير PDF/Excel لتحليل الأداء البصري | dns-benchmark benchmark --use-defaults --formats pdf,excel --include-charts |