Netbula LLC                                                                   sitemapcontact us
about usproductssupportdownloadpurchase


Introduction
    -Three Rules
    -Four Reasons

In Action
Changelog
Support Forum
Download
License Info
Features
    -Full List
     - Explanation
   
Guides
    - for Webmasters
    -Manual Online
    -Installation Guide

Test online
    -Create AnyBoard
    -Test Post/Admin

White Paper
    -Ultimate Solution
     -Design Note

Resource
    -FAQ
    -How to Translate
    -Design&Tips
Practical Issues On Discussion Board Software

Performance Traffic
Page Views User interaction


1. Performance

  • Use static html pages as much as possible.
    Dynamically generated pages require a program to run on the server each time a page is visited, which can suck up a lot of CPU time.

  • Use files to store message data, not an RDBMS
    To retrieve data from an RDBMS, this is the internal process:
    1) bbs constructs a SQL query.
    2) connects to the DBMS server and sends the query
    3) the DB server parses and executes the query (normally with condition on some index).
    4) DB opens the DB data file and seeks to the right location based on query of the index.
    5) reads the data blob and sends it back to the bbs software...

    In comparison, if the data are stored in files, the bbs simply open and reads the file.

2. Traffic

A non-threaded bbs wastes a lot of bandwidth.

Suppose two people are discussing one topic on a non-threaded board, to see any new message, each one has to refresh the whole page (which contains all the messages in one flat file), assume average message size is S, and there are N messages in the topic, the amount of traffic (T) generated by each person is at least

T = 1S+ 2S + 3S +.... +NS = (1+N)*N*S/2 ~ N*N*S /2

Suppose there are 20 messages in the topic and average message size is 5k, we have
T = 20*20*5/2 = 1000K ~ 1MB

This is the minimum traffic per person in order to finish this topic (20 messages), the actual number might be several times higher, why? Because the person does not know whether a new reply is posted, and he/she has to repeatedly download this growing page to see if there are new messages, even if the server replies with 304, there is a still a >1 multiplier to this 1MB number.

Suppose there is one lengthy post in the topic, and the rests are short comments, what happens? To see those additional comments, one has to download the long one many times.

What about a threaded message board?

In this case, each message is in a separate html file. To see new posts, the user reloads the main index page, which lists links to new posts. A user visit each message exactly once, to finish the 20 post discussion, a user download 5*20 = 100 (kb), which is 10% of the non-threaded board.

Of course, a topic in a non-threaded board rarelly goes beyond 20 messages, and a threaded topic can grow to hundreds of messages.

3. Page views

Suppose your site has a 10GB traffic allowance/month, how many page views can a non-threaded and a threaded message board generate at maximum, respectively?

The answer can be found easily, simply divide 10GB by the file size of each type of the boards.

For a threaded board, it is 10 * 10^9 / (5* 10^3) = 2 * 10 ^6 = 2 Million page views

For a non-threaded board, it is 10 * 10^9 / (100 * 10^3) = 10^5 = 100,000 page views

4. User interaction

A non-threaded message board hinders users interaction.

In a non-threaded board, one soon lose track on who is talking to who, because the messages are shown linearly and does not indicate a post/reply relationship.

More later....


| Home | Products | Support | Download | Purchase | Site Map | Contact Us |
Copyright © 2000, Netbula LLC, All Rights Reserved.

 

Anyemail Anyboard JRPC ONC RPC PowerRPC