Reimported with corrected tags
This commit is contained in:
5
contrib/queryperf/.cvsignore
Normal file
5
contrib/queryperf/.cvsignore
Normal file
@@ -0,0 +1,5 @@
|
||||
queryperf
|
||||
config.log
|
||||
config.cache
|
||||
config.status
|
||||
Makefile
|
||||
18
contrib/queryperf/Makefile.in
Normal file
18
contrib/queryperf/Makefile.in
Normal file
@@ -0,0 +1,18 @@
|
||||
# Copyright (C) 2000, 2001 Nominum, Inc. All Rights Reserved.
|
||||
|
||||
LIBS = @LIBS@
|
||||
|
||||
queryperf: queryperf.o
|
||||
$(CC) $(CFLAGS) queryperf.o $(LIBS) -lm -o queryperf
|
||||
|
||||
queryperf.o: queryperf.c
|
||||
$(CC) $(CFLAGS) -c queryperf.c
|
||||
|
||||
clean:
|
||||
rm -f *.o queryperf
|
||||
|
||||
distclean: clean
|
||||
rm -f config.log
|
||||
rm -f config.cache
|
||||
rm -f config.status
|
||||
rm -f Makefile
|
||||
82
contrib/queryperf/README
Normal file
82
contrib/queryperf/README
Normal file
@@ -0,0 +1,82 @@
|
||||
|
||||
$Id: README,v 1.1 2001/07/12 02:02:09 gson Exp $
|
||||
|
||||
This is queryperf, a DNS server query performance testing tool.
|
||||
|
||||
It is primarily intended for measuring the performance of
|
||||
authoritative DNS servers, but it has also been used for measuring
|
||||
caching server performance. This document describes the use of
|
||||
queryperf for authoritative server performance testing.
|
||||
|
||||
|
||||
Building
|
||||
|
||||
To build queryperf, just do
|
||||
|
||||
sh configure
|
||||
make
|
||||
|
||||
|
||||
The test environment
|
||||
|
||||
It is recommended that you run queryperf and the name server under
|
||||
test on separate machines, so that the CPU usage of queryperf itself
|
||||
does not slow down the name server. The two machines should be
|
||||
connected with a fast network, preferably a dedicated 100baseT
|
||||
segment. Testing through a router or firewall is not advisable.
|
||||
|
||||
|
||||
Configuring the server
|
||||
|
||||
The name server under test should be set up as an authoritative
|
||||
server, serving one or more zones similar in size and number to
|
||||
what the server is expected to serve in production.
|
||||
|
||||
Be sure to turn off recursion in the server's configuration
|
||||
(in BIND 8/9, specify "recursion no;" in the options block).
|
||||
In BIND 8, you should also specify "fetch-glue no;"; otherwise
|
||||
the server may attempt to retrieve glue information from the
|
||||
Internet during the test, slowing it down by an unpredictable
|
||||
factor.
|
||||
|
||||
|
||||
Constructing the input file
|
||||
|
||||
You need to construct a queryperf input file containing a large and
|
||||
realistic set of queries, on the order of ten thousand to a million.
|
||||
The input file contains one line per query, consisting of a domain
|
||||
name and an RR type name separated by a space. The class of the
|
||||
query is implicitly IN.
|
||||
|
||||
When measuring the performance serving non-terminal zones such as the
|
||||
root zone or TLDs, note that such servers spend most of their time
|
||||
providing referral responses, not authoritative answers. Therefore, a
|
||||
realistic input file might consist mostly of queries for type A for
|
||||
names *below*, not at, the delegations present in the zone. For
|
||||
example, when testing the performance of a server configured to be
|
||||
authoritative for the top-level domain "fi.", which contains
|
||||
delegations for domains like "helsinki.fi" and "turku.fi", the input
|
||||
file could contain lines like
|
||||
|
||||
www.turku.fi A
|
||||
www.helsinki.fi A
|
||||
|
||||
where the "www" prefix ensures that the server will respond with a
|
||||
referral. Ideally, a realistic proportion of queries for nonexistent
|
||||
domains should be mixed in with those for existing ones, and the lines
|
||||
of the input file should be in a random order.
|
||||
|
||||
|
||||
Running the tests
|
||||
|
||||
Queryperf is run specifying the input file using the "-d" option, as
|
||||
in
|
||||
|
||||
queryperf -d input_file -s server
|
||||
|
||||
The output of queryperf is mostly self-explanatory. Pay attention to
|
||||
the number of dropped packets reported - when running the test over a
|
||||
local Ethernet connection, it should be zero. If one or more packets
|
||||
has been dropped, there may be a problem with the network connection.
|
||||
In that case, the results should be considered suspect and the test
|
||||
repeated.
|
||||
1158
contrib/queryperf/configure
vendored
Executable file
1158
contrib/queryperf/configure
vendored
Executable file
File diff suppressed because it is too large
Load Diff
15
contrib/queryperf/configure.in
Normal file
15
contrib/queryperf/configure.in
Normal file
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* Copyright (C) 2000, 2001 Nominum, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
AC_INIT(queryperf.c)
|
||||
|
||||
AC_PREREQ(2.13)
|
||||
|
||||
AC_PROG_CC
|
||||
|
||||
AC_SEARCH_LIBS(res_mkquery, resolv bind);
|
||||
AC_CHECK_LIB(socket, socket)
|
||||
AC_CHECK_LIB(nsl, inet_ntoa)
|
||||
|
||||
AC_OUTPUT(Makefile)
|
||||
1365
contrib/queryperf/queryperf.c
Normal file
1365
contrib/queryperf/queryperf.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user