Map_hash_*_size

I’m getting the error like this:
nginx: [emerg] could not build the map_hash, you should increase either
map_hash_max_size: 2048 or map_hash_bucket_size: 64

I solved it by setting large values to those two variables, but I didn’t
quite the why. Could someone explain more about those two values?
Thanks!

map_hash_bucket_size

“The directive sets the maximum size in a hash table to map variables”
What exactly is the max size here? Size of how many elements can be
stored in hash table?

map_hash_max_size

“The directive sets the maximum size of a hash table to hold the
variable map”
Then how about the max size here?

Posted at Nginx Forum:

Hello!

On Mon, Aug 08, 2011 at 10:19:27AM -0400, zflairz wrote:

I’m getting the error like this:
nginx: [emerg] could not build the map_hash, you should increase either
map_hash_max_size: 2048 or map_hash_bucket_size: 64

I solved it by setting large values to those two variables, but I didn’t
quite the why. Could someone explain more about those two values?
Thanks!

You may find general description of *_hash_max_size and
*_hash_bucket_size here:

http://wiki.nginx.org/Optimizations

Original documentation in Russian may be found here:

http://sysoev.ru/nginx/docs/hash.html

Maxim D.