Welcome! Log In Create A New Profile

Advanced

Re: IP Upstream Hash

chateau Xiao
July 20, 2011 11:14PM
fist of all, 89, 113 and 6271 are all primes.
prime has a very import feature when we use to judge whether the bucket is
right place for the data to store.It simple made a hash more efficient and
less conflict.

the princple of "why prime" can be dicussed more detial in the URL below

http://computinglife.wordpress.com/2008/11/20/why-do-hash-functions-use-prime-numbers/




On Thu, Jul 21, 2011 at 5:18 AM, Matthieu Tourne
<matthieu.tourne@gmail.com>wrote:

> Hi all,
>
> I was looking at the code in ngx_http_upstream_ip_hash_module.c
> And I'm not sure where the hashing algorithm for IPs is coming from,
> especially those lines :
>
> iphp->hash = 89;
>
> hash = (hash * 113 + iphp->addr[i]) % 6271;
>
> Just wondering if those constants are arbitrary chosen, or if there is
> something there to guarantee a good distribution ?
>
> If you have some links explaining this algorithm, it would be greatly
> appreciated!
> Also, how would you get a good distribution on IPv6. Maybe it would make
> sense to use murmur ?
>
> Thank you,
>
> Matthieu.
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>
>
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

IP Upstream Hash

Matthieu Tourne 2722 July 20, 2011 05:20PM

Re: IP Upstream Hash

chateau Xiao 875 July 20, 2011 11:14PM

Re: IP Upstream Hash

Igor Sysoev 1511 July 21, 2011 05:44AM

Re: IP Upstream Hash

chateau Xiao 818 August 03, 2011 09:48PM

Re: IP Upstream Hash

Oscar Fernandez 794 August 04, 2011 03:10AM

Re: IP Upstream Hash

Igor Sysoev 1179 August 04, 2011 07:12AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 77
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready