It highly depends on the complexity of the ads system.
For example, if you only deliver some static content, something like HTTP::Server::Simple::CGI::PreFork should suffice. Just preload your content before you run() the server will give you a fast, relatively memory efficient system.
You might also try to run memcached with enough memory to hold some of the most recent used data. Then, you do a two-way fetch: First, try memcached (with Cache::Memcached::Fast). If found, deliver. If not found then read from disk, put into memcached and deliver. Since you are not holding the data in multiple threads/instances but in a central place (the filesystem) the memory footprint is quite low. Yet, you are caching the most recently used data in RAM in a central location - this might also be important, since there's a good chance you will deliver some ads more often than others (memcached normally flushed out the oldest data and keeps the most recently used in RAM).
In reply to Re: How to minimize memory footprint
by cavac
in thread How to minimize memory footprint
by AlfaProject
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |