map module - mass hosting

Maxim Dounin mdounin at
Wed Apr 23 14:34:54 UTC 2014


On Wed, Apr 23, 2014 at 09:27:33AM -0400, beatnut wrote:


> > Searching within a map is basically identical to searching for 
> > appropriate server{} block, both use the same internal mechanism 
> > (ngx_hash).  As long as you don't use regular expressions,
> > lookup complexity is O(1).
> So using for example:
>  or
> example.*
> have more complexity or  it shoud have full list of subdomains for better
> performance:

While wildcards require more work on each lookup, complexity is 
still O(1).  Note that regular expressions != wildcard names.

> > Distinct server{} blocks might be more CPU-efficient due to no need to
> > 
> > evaluate variables and dynamically allocate memory for resulting 
> > strings on each request.
> My configuration include one file with server{} per domain.
> example2.conf 
> etc
> The main improvement i'd like to implement is to have one file with php
> config like   fastcgi.conf above and then include it in every server{} 
> Map module gives me this opportunity. 

This is not something I would recommend to do.  If you have 
server{} block per domain, you should have enough data to write 
configuration without introducing another map ($document_root, 
$server_name, and so on).

Please also see this FAQ article:

Maxim Dounin

More information about the nginx mailing list