Regarding Parallel Support
Dmitry Rybin
kirgudu at corbina.net
Wed Aug 13 05:20:42 UTC 2008
David Sparks wrote:
> Dmitry Rybin wrote:
>> Matus UHLAR - fantomas wrote:
>>>> Matus UHLAR - fantomas wrote:
>>>>> On 11.08.08 18:54, varun srivastava wrote:
>>>>>> I just wanted to know whether bind has some specific multi processor or
>>>>>> multi core support, to take advantage to the max ?
>>>>> bind supports threads which is what you want. Note that your OS has so
>>>>> support them too.
>>> On 12.08.08 15:23, Dmitry Rybin wrote:
>>>> Under heavy load bind with threads work unstable: Eat a lot of memory
>>>> and became very slow.
>>> Maybe there are big timeouts when waiting for memory locks etc? There should
>>> be one thread per CPU, so all possible CPU power could be used, but I don't
>>> see any gain in having more threads on one CPU.
>>>
>>> Could you describe this problem a bit more?
>>>
>> OK... This is well known bug.
>
> Where is it documented? My servers suffered greatly from what seems to be
> exactly this problem and we pulled our hair out trying to figure out how to
> solve it. max-cache-size just doesn't work in 9.4.
>
> This issue seems to be gone in 9.5.
Work on hard loads doesn't change from 9.4 and 9.5 :( Did you see src
code bind 9.5? It's terrible.
it is documented in bind mail list.
Bind works more nice with next changes:
1. dirty hack.
=====================
Mor quickly clean cache
lib/dns/cache.c
-#define DNS_CACHE_CLEANERINCREMENT 1000U /*%< Number of nodes. */
+#define DNS_CACHE_CLEANERINCREMENT 200U /*%< Number of nodes. */
=====================
Use ISC MALLOC
lib/isc/include/isc/mem.h
-#ifndef ISC_MEM_USE_INTERNAL_MALLOC
#define ISC_MEM_USE_INTERNAL_MALLOC 1
-#endif
=====================
Disable noisy log RFC 1918.
bin/named/query.c
warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t
*rdataset) {
+ return;
unsigned int i;
=====================
2. Use utility like monit, to stop and start bind, then it slow down and
memory limit exhausted.
>
> ds
>
>
>> === named.conf ===
>> [...]
>> options {
>> max-cache-size 500M;
>> };
>>
>> [...]
>> ==================
>> named with threads (8 threads, 1 thread per CPU)
>> Memory Usege grows very quickly. Top memory usage - system limit (2Gb),
>> and then die (20-30 minutes under heavy load). After 500Mb-600Mb (limit)
>> named became slow answer to queries, eat cpu time.
>>
>> named without threads
>> Memory Usege grows not so quickly. Top memory usage - system limit
>> (2Gb), and then die (60-240 minutes under heavy load). After 500Mb-600Mb
>> (limit) named became slow answer to queries, eat cpu time.
>
>
More information about the bind-users
mailing list