Application provider's site
Layer + comm
% requests flowing through to each layer
Figure 5.1 With this architecture, we show the total costs of each communication round-trip.
The back-end calls are weighted more heavily because requests for front-end static content
are inherently cheaper. Toward the right, content becomes more dynamic. We can assume
that some requests will fail or be satisfied by the static web servers.
were read for each one created. The board's software was powered by
wwwthreads , a Perl script-based message board package. wwwthreads is sub-
stantially more robust than most message board packages, and it can be
attached to a database, instead of simply reading flat files. However, the pack-
age has at least one significant limitation: individual messages are not cached.
(My customer's entire database would fit in memory!) Ninety percent of all of
the communications between the database server and the application server
were repeated message retrievals, and nearly all of that was overhead.
Bitter BBS with no cache
For the Cacheless Cow antipattern, we will continue to develop our message
board. As with all of the “before” programming examples in this topic, this
one will have problems:
It will have no cache.