BIND 9.2.4rc8 Multithreading on Win32
Vinny Abello
vinny at tellurian.com
Fri Sep 10 03:15:55 UTC 2004
Hi Danny,
First thanks for replying. I'll comment below...
At 11:11 PM 9/9/2004, Danny Mayer wrote:
>At 08:52 PM 9/9/2004, Vinny Abello wrote:
>>I've been reading that threading is enabled by default on certain platforms
>>with the newer BIND 9 versions and you can also manually enable it when
>>compiling it. However, what about the Win32 binary package available from
>>ISC? Is it enabled by default? If not, how do you enable it? Is this
>>related to the the -n option?
>
>Windows only comes multithreaded even if you compile it yourself.
>The socket code requires it in order to handle the I/O properly and
>deal with the I/O Completion Ports and the accept/connect requests.
Understood.
>>I have three servers running BIND. One has two processors with
>>hyperthreading (and BIND correctly identifies 4 CPU's in the event log when
>>starting). On the other two servers there is only a single processor and
>>BIND reflects that in the event log. If I start named.exe from the command
>>line with -f -n4 it will show 4 processors in the event log.
>
>Well not really. It should say 4 worker threads or something like that.
>That's what you're really forcing.
Maybe you should double check what you're writing to the Event Log. It says:
"using 4 CPUs"
>> If I modify
>>the image path in the registry to do just -n4 and start it, it only shows 1
>>CPU. Is this possibly a bug in named or at least the Win32 version? Does it
>>require the -f to listen to the -n switch making it only useful when not
>>running as a service?
>
>That's probably a bug in the code since the switch should be passed up
>into the main code.
Should I submit this as a bug then?
>>More importantly, am I even barking up the right tree doing this? Is this
>>how you "enable" threading on Win32? Thanks in advance for any help, advice
>>and/or answers!
>
>You are barking up the wrong tree. It has plenty of threads. If you use the
>task manager and look at processes and add the thread count under
>Views->Select columns you will see that named has a number of threads
>in use. I have 8 currently. The number can increase or decrease depending
>on the number of TCP queries that are active.
>
>You really shouldn't need the -n switch. The main effect on Windows is to
>increase the number of I/O Completion Port worker threads. I make also
>affect some of the internal task management.
What I'm trying to accomplish is to make BIND continue responding to
queries if I try to load a large RBL zone file. Is this the correct
direction to go in, or does BIND still have trouble with doing this? Would
increasing the number of I/O Completion Port worker threads allow BIND to
continue responding to queries while it's loading a zone file?
Vinny Abello
Network Engineer
Server Management
vinny at tellurian.com
(973)300-9211 x 125
(973)940-6125 (Direct)
PGP Key Fingerprint: 3BC5 9A48 FC78 03D3 82E0 E935 5325 FBCB 0100 977A
Tellurian Networks - The Ultimate Internet Connection
http://www.tellurian.com (888)TELLURIAN
There are 10 kinds of people in the world. Those who understand binary and
those that don't.
More information about the bind-users
mailing list