On Thu, 01 Jul 2010 10:50:24 -0400, Alan Clegg <acl...@isc.org> wrote: > On 7/1/2010 4:21 AM, ShanyiWan wrote: > >> Multiple processes(named): Can I start multiple processes(named) in a >> server and each process can provide services normally? See >> information so that on the internet(I think this may be wrong).How >> can i do to maximize the ability of concurrent queries(named) ? All >> the name.conf is the same: > > You can't have more than one process listening on the same > {address,port} at the same time, so no, you can't do what you are trying > to do in the way you are trying to do it. > > What exactly is it that you want to gain? From the above, it would seem > that you are looking for higher queries/second? > > Based on my recollection, you aren't going to get high q/sec out of DLZ > due to the way it queries the database for every incoming query -- you > may want to put a layer of caching recursive servers in front of your > DLZ server, or run your DLZ server on a different set of ports and have > your "customer facing" bind cache responses from it.
If Alan's guess about the reason for trying this is to obtain higher performance, then you should review the information about BIND DLZ performance at http://bind-dlz.sourceforge.net/perf_tests.html. Granted, this info about an older version of BIND, and BIND-DLZ, and on older hardware, but there is some very good performance indicators listed. In particular, they have a table of BIND DLZ performance using a number of different drivers. I have attempted to copy and past this performance comparison table into this message. (If you can't read it, go back to the original source.) Bind Postgres MySQL LDAP FileSystem* Berkely DB BTREE HASH HPT-T HPT-C HPT-P QPS 16,108 589 689 82 176 1116 1011 5325 9164 12,050 Notice that with a vanilla BIND server they were able to get 16k queries per second. Using BIND-DLZ with a MySQL database back end they were not even getting 700 queries per second. Also, going back to to the BIND DLZ Home page on Source Forge, they say: DLZ (Dynamically Loadable Zones) is a patch for BIND version 9 that simplifies BIND administration and reduces memory usage and startup time. DLZ allows you to store your zone data in a database. Unlike using scripts, the changes in your database are immediately reflected in BIND's response to DNS queries, so there is no need to reload or restart BIND. You see, BIND "dynamically loads" the "zone" data it needs to answer a query from the database. Notice that they say that there are many different reasons that BIND-DLZ is useful and helpful, but NEVER do they claim that it's goal is high performance, and their own testing demonstrates this. The combination of BIND-DLZ and MySQL does NOT provide for a high performance DNS server. Alan does provide some very good suggestions for implementing a DNS server system using BIND-DLZ/MySQL to get better performance, basically provide your users a caching BIND front end that would query your BIND-DLZ server. But then again, this may kill the benefit of using a BIND-DLZ server in the first place. I've played with BIND-DLZ using MySQL as the data store. My experience is that no matter how "convenient" managing the DNS data in a SQL database, the performance just didn't meet my expectations. My suggestion to anyone looking at using BIND-DLZ is to really think about what they want from it. It is convenient, it is more complex, and it is slow. Can you live with it's advantages AND disadvantages? Bill Larson _______________________________________________ bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users