[GH-ISSUE #109] benchmark Test really slow #38

Open
opened 2026-03-04 23:23:57 +03:00 by kerem · 0 comments
Owner

Originally created by @louishot on GitHub (Mar 12, 2023).
Original GitHub issue: https://github.com/yswery/PHP-DNS-SERVER/issues/109

I have make a benchmark Test

dnsperf Client (24 cores cpu) > 10GE NIC > PHP-DNS-SERVER (24 cores cpu)

<?php

require_once __DIR__.'/../vendor/autoload.php';

// JsonResolver created and provided with path to file with json dns records
$jsonResolver = new yswery\DNS\Resolver\JsonResolver([__DIR__.'/record.json', __DIR__.'/example.com.json']);

// System resolver acting as a fallback to the JsonResolver
$systemResolver = new yswery\DNS\Resolver\SystemResolver();

// StackableResolver will try each resolver in order and return the first match
$stackableResolver = new yswery\DNS\Resolver\StackableResolver([$jsonResolver, $systemResolver]);

// Create a new instance of Server class
$server = new yswery\DNS\Server($stackableResolver);

// Start DNS server
$server->start();
cat data.txt 
example.com A
./dnsperf -d data.txt -s 192.168.1.102 -Q 1000000 -c 1000

DNS Performance Testing Tool

[Status] Processing query data
[Status] Sending queries to 192.168.1.102:53

[Status]DNS Query Performance Testing Finish
[Result]Quries sent:		1000000
[Result]Quries completed:	978956
[Result]Complete percentage:	97.90

[Result]Elapsed time(s):	70.25900

[Result]Queries Per Second:	14233.05199
Originally created by @louishot on GitHub (Mar 12, 2023). Original GitHub issue: https://github.com/yswery/PHP-DNS-SERVER/issues/109 I have make a benchmark Test dnsperf Client (24 cores cpu) > 10GE NIC > PHP-DNS-SERVER (24 cores cpu) ``` <?php require_once __DIR__.'/../vendor/autoload.php'; // JsonResolver created and provided with path to file with json dns records $jsonResolver = new yswery\DNS\Resolver\JsonResolver([__DIR__.'/record.json', __DIR__.'/example.com.json']); // System resolver acting as a fallback to the JsonResolver $systemResolver = new yswery\DNS\Resolver\SystemResolver(); // StackableResolver will try each resolver in order and return the first match $stackableResolver = new yswery\DNS\Resolver\StackableResolver([$jsonResolver, $systemResolver]); // Create a new instance of Server class $server = new yswery\DNS\Server($stackableResolver); // Start DNS server $server->start(); ``` ``` cat data.txt example.com A ``` ``` ./dnsperf -d data.txt -s 192.168.1.102 -Q 1000000 -c 1000 DNS Performance Testing Tool [Status] Processing query data [Status] Sending queries to 192.168.1.102:53 [Status]DNS Query Performance Testing Finish [Result]Quries sent: 1000000 [Result]Quries completed: 978956 [Result]Complete percentage: 97.90 [Result]Elapsed time(s): 70.25900 [Result]Queries Per Second: 14233.05199 ```
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/PHP-DNS-SERVER#38
No description provided.