boa-devel Mailing List for Boa (Page 13)
Brought to you by:
jnelson
You can subscribe to this list here.
2000 |
Jan
(31) |
Feb
(42) |
Mar
(77) |
Apr
(8) |
May
(8) |
Jun
(16) |
Jul
|
Aug
(4) |
Sep
(20) |
Oct
(1) |
Nov
(11) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
(9) |
Mar
(3) |
Apr
|
May
(3) |
Jun
|
Jul
(3) |
Aug
|
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2002 |
Jan
(2) |
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(7) |
Oct
(15) |
Nov
(6) |
Dec
(41) |
2003 |
Jan
(32) |
Feb
(20) |
Mar
(1) |
Apr
(1) |
May
(3) |
Jun
(1) |
Jul
(9) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(12) |
2004 |
Jan
(2) |
Feb
(5) |
Mar
(5) |
Apr
(1) |
May
(10) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2005 |
Jan
(1) |
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
(8) |
2006 |
Jan
(10) |
Feb
(3) |
Mar
(1) |
Apr
(1) |
May
(6) |
Jun
(13) |
Jul
(12) |
Aug
(13) |
Sep
(4) |
Oct
(23) |
Nov
(29) |
Dec
(26) |
2007 |
Jan
(15) |
Feb
(19) |
Mar
(29) |
Apr
(79) |
May
(74) |
Jun
(112) |
Jul
(44) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Jon N. <jn...@ja...> - 2002-11-25 13:33:46
|
I wrote the article at: http://www.osnews.com/story.php?news_id=2217&page=all -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-11-23 15:22:24
|
This should provide both better performance and better range support. Please give this a thorough testing -- it seems to work OK here. -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-11-23 05:08:22
|
On Fri, 22 Nov 2002 18:45:18 -0600 Jon Nelson <jn...@ja...> wrote: > On Fri, 22 Nov 2002 16:30:33 -0600 > Jon Nelson <jn...@ja...> wrote: > > > I found a few problems in 0.94.14rc5, esp. with files > 100K. > > > > My suggestion is to continue running 0.94.13 for now. > > I'll be working to clean up the code -- I have an idea that may > > simplify parts of the code somewhat. Still working on parts of it, but performance is up somewhat. Right now my profiles show the greatest consumer of time in Boa is fdset_update (select) or update_blocked (poll), by a big margin. I wonder why? Either way, I hope to have an rc6 this weekend. > Well, I'm partly done, but I thought I'd share this with you. > Using two new Netgear GA302T Gig-E cards, and two machines > almost exactly the same (ECS K7S5A and K7SEM, both Duron 700), > I get an *over the wire* zeusbench that looks like this, with a 105K file. Some updates: --- Server: Boa/0.94.14rc5 Document Length: 105165 Concurency Level: 215 Time taken for tests: 24.748 seconds Complete requests: 10000 Failed requests: 0 Keep-Alive requests: 10002 Bytes transfered: 1064119164 HTML transfered: 1061744679 Requests per seconds: 404.07 Transfer rate: 42998.19 kb/s Connnection Times (ms) min avg max Connect: 0 14 9029 Total: 388 526 9547 --- And from 'apache bench': Concurrency Level: 215 Time taken for tests: 23.298 seconds Complete requests: 10000 Failed requests: 0 Broken pipe errors: 0 Keep-Alive requests: 10001 Total transferred: 1063465974 bytes HTML transferred: 1061094751 bytes Requests per second: 429.22 [#/sec] (mean) Time per request: 500.91 [ms] (mean) Time per request: 2.33 [ms] (mean, across all concurrent requests) Transfer rate: 45646.23 [Kbytes/sec] received -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-11-23 00:48:26
|
On Fri, 22 Nov 2002 16:30:33 -0600 Jon Nelson <jn...@ja...> wrote: > I found a few problems in 0.94.14rc5, esp. with files > 100K. > > My suggestion is to continue running 0.94.13 for now. > I'll be working to clean up the code -- I have an idea that may > simplify parts of the code somewhat. Well, I'm partly done, but I thought I'd share this with you. Using two new Netgear GA302T Gig-E cards, and two machines almost exactly the same (ECS K7S5A and K7SEM, both Duron 700), I get an *over the wire* zeusbench that looks like this, with a 105K file. --- Server: Boa/0.94.14rc5 Document Length: 105165 Concurency Level: 215 Time taken for tests: 56.246 seconds Complete requests: 20000 Failed requests: 0 Keep-Alive requests: 20005 Bytes transfered: 2119048369 HTML transfered: 2114339690 Requests per seconds: 355.58 Transfer rate: 37674.65 kb/s Connnection Times (ms) min avg max Connect: 0 7 3000 Total: 169 601 4261 --- -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-11-22 22:27:25
|
I found a few problems in 0.94.14rc5, esp. with files > 100K. My suggestion is to continue running 0.94.13 for now. I'll be working to clean up the code -- I have an idea that may simplify parts of the code somewhat. -- "Fig Newton: The force required to accelerate a fig 39.37 inches/sec." - J. Hart Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-11-20 20:42:39
|
I'm hoping to provide full range support in 0.94.14rc5. Any takers on a beta? -- "Fig Newton: The force required to accelerate a fig 39.37 inches/sec." - J. Hart Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-10-29 17:05:03
|
0.94.14rc4 backports some http/1.1 support, and makes some other changes to the source that should not effect run-time behavior - specificially many #defines were changed to enumerations. -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Peter K. <ja...@su...> - 2002-10-29 06:37:57
|
>>>>> "Peter" == Peter Korsgaard <ja...@su...> writes: Peter> Hi, This patch adds access control to Boa using Allow/Deny Peter> wildcards on the translated (filesystem) filenames. Ups, the patch didn't handle sighup nicely. THis one does: http://peter.korsgaard.com/software/boa.access-control2.patch -- Bye, Peter Korsgaard |
From: Nikos M. <nm...@gn...> - 2002-10-27 01:07:26
|
Hello, I've been trying to avoid creating a temporary files for post data. Since CGIs need to read a descriptor, using anything except descriptors seemed impossible. A solution I've come over was to use pipes, if the data in the post request were less than PIPE_BUF. I don't think that this is an elegant solution, since pipe returns 2 descriptors, which seems to be a waste of descriptors, but a least the temporary file creation is avoided. A patch is attached (unfortunately this only shows the idea, and does not cleanly apply since it is over the hydra code base). A question! Why is the close-on-exec flag is set (to post_data_fd)? I see that the init_cgi() function closes the filedescriptor before exec, so what's the need for this? -- Nikos Mavroyanopoulos Email: nmav at gnutls org |
From: Jon N. <jn...@ja...> - 2002-10-27 00:30:04
|
On 27 Oct 2002 00:17:13 +0200 Peter Korsgaard <ja...@su...> wrote: > Hi, > > I noticed a few minor glitches: > > configure.in:147 it should be --enable-debug not --disable-debug Actually, debugging (-g) is on my default, thus --disable to change something --enable'd by default. > The website still says 0.94.14rc2 even though the link is updated. Doh! > I noticed that neither mine or Don Mahurin's HTTP range patch were > included in the release - why not? Let me look into that. There were problems with all of the range patches thus far, usually that they didn't conform to the RFC for responses (a 206 instead of a 200, etc...) There *is* a full-blown, 100% RFC compliant range patch, but it's more invasive than I would have preferred to see in a point release like this. There is a good chance that you'll see it soon, however! -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Peter K. <ja...@su...> - 2002-10-26 22:17:23
|
Hi, I noticed a few minor glitches: configure.in:147 it should be --enable-debug not --disable-debug The website still says 0.94.14rc2 even though the link is updated. I noticed that neither mine or Don Mahurin's HTTP range patch were included in the release - why not? -- Bye, Peter Korsgaard |
From: Peter K. <ja...@su...> - 2002-10-26 22:10:49
|
Hi, This patch adds access control to Boa using Allow/Deny wildcards on the translated (filesystem) filenames. We (sunsite.dk) use it to hide all directories and filenames starting with a dot using a rule like: Deny */.* The patch can be enabled at compile time by passing --enable-access-control on the configure line. The patch should apply cleanly to boa-0.94.14rc3 The wording of the changes to docs/boa.texi might need to be changed. I am not a native english speaker. It can be downloaded from: http://www.48ers.dk/boa.access_control.patch -- Bye, Peter Korsgaard |
From: <0...@pe...> - 2002-10-26 20:02:03
|
Thanks. Works as (I) expected now. I updated SERVER_VERSION in defines.h. I forgot to ask. Sometimes I have to boot on Windows where I use Apache, but boa would be much better for my use. I have Cygwin installed and there are a few results from Google, but I'm not sure about the status. http://sources.redhat.com/ml/cygwin/2001-09/msg01217.html On Sat, 26 Oct 2002, Jon Nelson wrote: > Please give 0.94.14rc3 a try. > > > On Sat, 26 Oct 2002 13:13:17 -0300 (BRT) > Fr=E9d=E9ric L. W. Meunier <0...@pe...> wrote: > > > Is there anything wrong with my setup ? > > > > DocumentRoot /mnt/vfat > > > > /mnt/vfat is another partition. > > > > Redirect /docs /documentation > > Redirect /documentation/Guilherme /documentation/MercadoLivre > > > > Alias /pub /home/ftp/pub > > Alias /src /usr/local/src > > Alias /Windows /mnt/vfat/Windows > > > > /home/ftp/pub and /usr/local/src are other partitions. > > > > The problem: > > > > These lines used to work with 0.94.13. > > > > Now only Alias /Windows /mnt/vfat/Windows works: --=20 0@pervalidus.{net, {dyndns.}org} |
From: Jon N. <jn...@ja...> - 2002-10-26 18:56:58
|
0.94.14rc3 includes a small fix that broke aliasing in 0.94.14rc2. Additionally, some of the debug code from 0.95 got backported during debugging of the problem. -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-10-26 18:54:29
|
Please give 0.94.14rc3 a try. On Sat, 26 Oct 2002 13:13:17 -0300 (BRT) Frédéric L. W. Meunier <0...@pe...> wrote: > Is there anything wrong with my setup ? > > DocumentRoot /mnt/vfat > > /mnt/vfat is another partition. > > Redirect /docs /documentation > Redirect /documentation/Guilherme /documentation/MercadoLivre > > Alias /pub /home/ftp/pub > Alias /src /usr/local/src > Alias /Windows /mnt/vfat/Windows > > /home/ftp/pub and /usr/local/src are other partitions. > > The problem: > > These lines used to work with 0.94.13. > > Now only Alias /Windows /mnt/vfat/Windows works: > > http://localhost/Windows/: > > 127.0.0.1 - - [26/Oct/2002:13:03:35 -0300] "GET /Windows/ HTTP/1.0" 200 2765 "-" > > http://localhost/pub/: > > 127.0.0.1 - - [26/Oct/2002:13:05:51 -0300] "GET /pub/ HTTP/1.0" 404 0 "-" > > 127.0.0.1 - - [26/Oct/2002:13:05:51 -0300] request "GET /pub/ HTTP/1.0" ("/mnt/vfat/pub/"): document open: No such file or directory > > The same for the redirections: > > http://localhost/docs/: > > 127.0.0.1 - - [26/Oct/2002:13:08:32 -0300] "GET /docs/ HTTP/1.0" 404 0 "-" > > 127.0.0.1 - - [26/Oct/2002:13:08:32 -0300] request "GET /docs/ HTTP/1.0" ("/mnt/vfat/docs/"): document open: No such file or directory > > Meaning that I can't use the same boa.conf with 0.94.13. > > From the examples it looks like lines were right: > > # Example: Redirect /bar http://elsewhere/feh/bar > > Alias /doc /usr/doc > > -- > 0@pervalidus.{net, {dyndns.}org} > > > > ------------------------------------------------------- > This SF.net email is sponsored by: ApacheCon, November 18-21 in > Las Vegas (supported by COMDEX), the only Apache event to be > fully supported by the ASF. http://www.apachecon.com > _______________________________________________ > Boa-devel mailing list > Boa...@li... > https://lists.sourceforge.net/lists/listinfo/boa-devel > -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: <0...@pe...> - 2002-10-26 16:16:55
|
Is there anything wrong with my setup ? DocumentRoot /mnt/vfat /mnt/vfat is another partition. Redirect /docs /documentation Redirect /documentation/Guilherme /documentation/MercadoLivre Alias /pub /home/ftp/pub Alias /src /usr/local/src Alias /Windows /mnt/vfat/Windows /home/ftp/pub and /usr/local/src are other partitions. The problem: These lines used to work with 0.94.13. Now only Alias /Windows /mnt/vfat/Windows works: http://localhost/Windows/: 127.0.0.1 - - [26/Oct/2002:13:03:35 -0300] "GET /Windows/ HTTP/1.0" 200 2765 "-" http://localhost/pub/: 127.0.0.1 - - [26/Oct/2002:13:05:51 -0300] "GET /pub/ HTTP/1.0" 404 0 "-" 127.0.0.1 - - [26/Oct/2002:13:05:51 -0300] request "GET /pub/ HTTP/1.0" ("/mnt/vfat/pub/"): document open: No such file or directory The same for the redirections: http://localhost/docs/: 127.0.0.1 - - [26/Oct/2002:13:08:32 -0300] "GET /docs/ HTTP/1.0" 404 0 "-" 127.0.0.1 - - [26/Oct/2002:13:08:32 -0300] request "GET /docs/ HTTP/1.0" ("/mnt/vfat/docs/"): document open: No such file or directory Meaning that I can't use the same boa.conf with 0.94.13. From the examples it looks like lines were right: # Example: Redirect /bar http://elsewhere/feh/bar Alias /doc /usr/doc -- 0@pervalidus.{net, {dyndns.}org} |
From: Jon N. <jn...@ja...> - 2002-10-26 15:09:45
|
The only change is a revised configuration parsing system which no longer relies on lex or yacc -- there are simply too many incompatible versions out there. I also ran the source through 'indent' again. Please give this a try. -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Jon N. <jn...@ja...> - 2002-10-20 23:04:31
|
Boa 0.94.14rc1 has been tagged and released. It primarily a feature release from 0.94.13. Included in this release are several exciting features, including: a stab at name-based virtualhosting, sendfile support (on Linux), much better cross-platform compilation, better heavy-load performance, poll(2) support, many tweaks and a good dose of fine-tuning. The default behavior for Boa has not changed substantially, so most people should have a completely seamless upgrade, but the new functionality is there for people to use. Note one bonus is now being able to use Boa with supervise from daemontools or freedt. Included is the ChangeLog for your perusal. *Please* let us know of anything that you think should change before 0.94.14 is released! ** Changes from 0.94.13 to 0.94.14 * SUBSTANTIALLY UPDATE AUTOCONF SYSTEM - all of the autoconf stuff is now located in the top level directory, and creates the appropriate Makefiles for building the system and documentation. * add [optional, Linux-only] check for sendfile system call * add new state, IOSHUFFLE, which utilizes sendfile (or emulates it using the request's buffer, otherwise) * make the default socket size 32K. The client_stream_size stays constant at 8K, and the new 'buffer' size is 4K Note also that the new code uses the "default" socket buffer size it obtains with the first accept()ed socket. * use setjmp, instead of sigsetjmp (we dont mess with the signal mask so why bother! it's one less syscall) * explicitly set pending_requests to 0 in select.c when sigterm_flag has been set, and also when the server socket is *not* set despite checking for it. * make default behavior be to leave stderr alone, but tie it to cgilog otherwise * add initial vhost_root support * remove support for normalize_path * use --disable-sendfile to disable sendfile support sendfile support for files > 100K is default, now. It's significantly faster and easier than the alternative * add "Host" header support to CGI environment * umask ~0770 before exec * backport hash.c from 0.95 and use fnv1a hash (see CREDITS) * don't set stderr close-on-exec * make some minor for very useful optimizations in the read/write loop for CGIs * make some adjustments for Solaris and other platforms * add yyerror function definition to boa_lexer.l * tie stdout to the access_log, unless there is no access_log, in which case tie it to /dev/null * use sensible defaults for umask (077) and (027 for CGI) * add and document new parameters (CGILog and CGIumask) * vast improvements to the cgi-test.cgi program, by Jon Nelson and Landon Curt Noll. * next 3 items by Don Mahurin (patches modified somewhat): * pidfile patch * default mime_types patch * NCSA environment environment variables wrapped in #ifdef USE_NCSA_CGI_ENV * fix some escaping issues with the directory indexer (Ulf Harnhammar) * backport poll support from 0.95 -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Don M. (dma) <dma...@dm...> - 2002-10-07 21:46:03
|
ok, I re-uploaded the patches. On Monday 07 October 2002 02:00 pm, Jon Nelson wrote: > I'm looking, and while I find the patch information, there > are no patches attached that I can see. Can you make sure that the > patches have actually been uploaded? |
From: Jon N. <jn...@ja...> - 2002-10-07 20:54:56
|
On Mon, 7 Oct 2002 13:03:56 -0700 "Don Mahurin (dma)" <dma...@dm...> wrote: > > I uploaded the patches against 0.94.13 to > http://sourceforge.net/projects/boa/ > > boa-ncsa-env.patch > boa-pid-file.patch > boa-config-file.patch > boa-mime-default.patch > boa-range.patch I'm looking, and while I find the patch information, there are no patches attached that I can see. Can you make sure that the patches have actually been uploaded? -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Don M. (dma) <dma...@dm...> - 2002-10-07 20:06:37
|
Intermezzo and boa users, I patched boa to support intermezzo, The big change needed was RANGE support. Other changes needed are ability to use "NCSA" server env vars, pid-file creations. I added support for -f, so boa can be called like apache, and I added the default mime.types location to make the conf file more concise. I uploaded the patches against 0.94.13 to http://sourceforge.net/projects/boa/ boa-ncsa-env.patch boa-pid-file.patch boa-config-file.patch boa-mime-default.patch boa-range.patch Compile boa with CFLAGS="-DUSE_NCSA_CGI_ENV" ./configure make Then I patched intermezzo to support an "alternate HTTPD". There are currently a couple of directives that are boa specific. patch the source from cvs with the patch at http://sourceforge.net/projects/intermezzo/ alt-httpd.patch compile as usual. run with intersync --alt-httpd=boa |
From: Peter K. <ja...@su...> - 2002-09-30 17:08:31
|
Hi Jon, others First of all, thanks for a great httpd with easy-to-understand sourcecode! As we needed a light and fast httpd for sunsite.dk to serve the new Redhat 8.0 isos for people who cannot use ftp (apache used up more than 4G when Mandrake 9 was released) We looked at boa. Unfortunately boa doesn't support HTTP/1.1 range which is kind of needed when you download isos, so I quickly hacked up HTTP range support in boa yesterday, and it seems to be working. The patch can be downloaded from http://www.48ers.dk/boa.http-range.patch The patch might be a little rough, as I didn't have much time to read through the sourcecode of boa yet, but it works for us atleast.. -- Bye, Peter Korsgaard |
From: Jon N. <jn...@ja...> - 2002-09-26 15:15:08
|
That is very cool! What is to become 0.94.14 already name-based virtualhosting, but this is a huge list of features! I'll be interested to see how you implemented HTTP/1.1 ranges. It's probable that some of these features will be integrated into Boa -- some of them have been on the list for quite some time. On Thu, 26 Sep 2002 17:36:23 +0300 Nikos Mavroyanopoulos <nm...@gn...> wrote: > I've modified Boa in a way that supports multiple threads, so that > performance scales with CPUs. I've also added some features I liked, and > the result was Hydra (note the name). Hydra is very alpha and > can be found at ftp://ftp.hellug.gr/pub/software/hydra/ > > All the changes done, since Boa/0.94.13 are here: > > * Added support for SSL 3.0 and TLS 1.0 protocols. > * Added support for multiple CPU's by making the server > run over a pool of threads. > * Changed the file caching code. The mmap() calls are cached until > the mmap list table is full. > * Added support for HTTP/1.1 ranges. > * Added support for hostname based virtual hosting. > Also changed the semantics of Alias, ScriptAlias and Redirect, to > take advantage of the host based virtual hosting. > * Added support for the TCP_CORK tcp option in linux. > * Cleaned up the CGI handling (indexer are treated as CGIs) > * Enhanced grammar to handle 3 and 4 argument options. > * Added support for multiple directory indexes. > * Dropped support for gunzip. > * Use automake to create the distribution. -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |
From: Nikos M. <nm...@gn...> - 2002-09-26 14:42:45
|
I've modified Boa in a way that supports multiple threads, so that performance scales with CPUs. I've also added some features I liked, and the result was Hydra (note the name). Hydra is very alpha and can be found at ftp://ftp.hellug.gr/pub/software/hydra/ All the changes done, since Boa/0.94.13 are here: * Added support for SSL 3.0 and TLS 1.0 protocols. * Added support for multiple CPU's by making the server run over a pool of threads. * Changed the file caching code. The mmap() calls are cached until the mmap list table is full. * Added support for HTTP/1.1 ranges. * Added support for hostname based virtual hosting. Also changed the semantics of Alias, ScriptAlias and Redirect, to take advantage of the host based virtual hosting. * Added support for the TCP_CORK tcp option in linux. * Cleaned up the CGI handling (indexer are treated as CGIs) * Enhanced grammar to handle 3 and 4 argument options. * Added support for multiple directory indexes. * Dropped support for gunzip. * Use automake to create the distribution. -- Nikos Mavroyanopoulos mailto:nm...@gn... |
From: Jon N. <jn...@ja...> - 2002-09-21 21:12:26
|
On Sat, 21 Sep 2002 23:56:01 +0300 Nikos Mavroyanopoulos <nm...@gn...> wrote: .. > I think that the current mmap caching system (in mmap_cache.c), can > be further improved. The current code, mmaps the requested file (in get.c), > and puts the mmap parameters into a hash list. When the request is freed > (free_request, on request.c), the file is unmapped. That means that .. > I think it should be more efficient if the mmappings were not > removed from that hash list when the request is freed. It's certainly doable. However, that would mean that, as Boa mmap's unique files, Boa's memory consumption grows rather alarmingly fast, and for the case where the fileset size is >> the memory one wishes to devote to Boa, that's simply not acceptable. However, it's entirely possible to build a system where various constraints and options are met: a) Boa must not mmap more than N files (current behavior) b) the total mmap'd size must not exceed M bytes c) after S seconds, Boa could unmap unused mappings d) after S seconds, Boa could "age" unused mappings, and remove those older than a certain time or number of iterations e) Boa could perform some simple statistical analyses to try to maintiain in-memory popular files. Note that each of these possibilities (and their possible combinations) have their own set of advantages and disadvantages. Note also that Boa should always keep in mind that any mmappd file could become truncated or be removed entirely beneath it. For certain high-performance applications, the obvious answer is to let Boa try to slurp up memory serving the most popular files right from memory. For embedded applications, where memory may be at a premium, it may be best to not let Boa map many files at all, and to try to conserve memory whenever possible. Finally, any possible strategy attempt is probably best followed by a series of various benchmarks -- contact me if you wish to determine what I use "in house", and how I interpret the information. -- Pound for pound, the amoeba is the most vicious animal on earth. Jon Nelson <jn...@ja...> C and Python Code Gardener |