Proto Co Networking
 
HomeTrialsProductsNewsDocumentationCustomersSupportAbout Us

Load Balancing Frequently Asked Questions

         What is the performance of Proto Balance?

Proto Balance can perform between 1500 and 3000 new connections per second per CPU Gigahertz on all supported hardware platforms. Therefore to calculate the low bound, simply take the real CPU clock speed in GHz and multiple it by 1500.

         How many downloads/sec can I expect using HTTP 1.1?

Proto Balance can perform between 5000 and 8000 HTTP 1.1 requests per second per CPU Gigahertz on all supported hardware platforms. Therefore to calculate the low bound, simply take the real CPU clock speed in GHz and multiple it by 5000.

         How new SSL connections per second and Proto Balance SSL handle?

On x86 64-bit Unix systems (like AMD64 and Intel Core2 64-bit and later), Proto Balance SSL can perform about 400 new SSL negotiations per second per CPU Gigahertz.

On x86 64-bit Windows XP x64 Professional, Proto Balance SSL can perform about 400 new SSL negotiations per second per CPU Gigahertz.

On SPARC 64 platforms Proto Balance SSL can perform about 200 new SSL negotiations per second per CPU Gigahertz.

HP-UX PARISC 2.0 64-bit has performance in a similar range.

         What are the minimum hardware requirements for running Proto Balance?

Proto Balance can handle 10000 concurrent connections using under 512 megabytes of RAM. Proto Balance consumes only a few megabytes of disk space.

         Is there a licensing limit to the number of back-end servers over which I may distribute load?

There is none. You can have hundreds of back-end servers.

         Is there a licensing limit to the number of clients that may connect to Proto Balance? Are there traffic or connection-rate limits?

There is none. Thousands of concurrent clients may connect. There are no traffic or connection-rate limits.

         What license is Proto Balance distributed under?

The Proto Balance license is a once-off purchase that allows you to install Proto Balance on a single machine with an unlimited number of back-end servers and an unlimited number of clients. See the section "Licensing Terms".

         I want to deploy a great many Proto Balance instances throughout my organization. What should I do?

Please contact us. We can provide bulk or organization-wide licensing on request.

         Will Proto Balance allow me to do hot deployments? What is a hot deployment?

Hot deployments are software deployments that incur no downtime for the client users. With Proto Balance it is easy to switch from one back-end server to another. So you can re-deploy your server machines in sequence without ever having a moment of total unavailability. The redeployment is completely transparent to the client users.

         Will Proto Balance allow me to add and remove back-end machines on-the-fly?

Yes. With Proto Balance you can add and remove back-end server machines even during peek load.

         Will Proto Balance use multiple processors on a multi-processor machine?

Yes. Proto Balance starts many concurrent threads/processes, so these will be distributed to different processor cores.

         Is Proto Balance a hardware load balancer? What is a hardware load balancer?

A hardware load balancer is a dedicated network appliance that performs packet routing at the Ethernet or IP level. Proto Balance is more suitable than a hardware load balance for most applications because it provides more comprehensive and controlled monitoring of the boxes in your cluster. Proto Balance also runs on all popular platforms, which are easy to upgrade, or replace in the event of failure.

         What operating systems does Proto Balance run on? Is my platform supported?

Proto Balance is available for the following systems:

        For the PC (80386/80486/Pentium and later):

               * Windows

               * Linux

               * Solaris

               * FreeBSD

        Other Unix systems:

               * Solaris SPARC

               * HP-UX PA RISC (HP 9000 and variants)

               * MacOS X PowerPC

         My OS is not supported. What can I do?

Contact us to request support for other platforms.

         When does Proto Balance fail a box? What does a box have to do for Proto Balance to think it has fallen over?

Any service running on a box should receive or send at least one byte of data before closing the connection. If a connection error or close occurs before 1 byte of data has been transferred, then the box is deemed to have failed.

Note that HTTP protocols (included "Soap", "Web Services" and ordinary web) return "500 Internal Server Error" and "503 Service Unavailable" when the server is overloaded or undergoing maintenance. In this case the client is NOT redirected to another box. (For Proto Balance to redirect would require that it cache the entire HTTP request - which could be large - and resubmit it to another box.) The client is served the 500 or 503 error as any ordinary web page. The 500 or 503 error is however detected by Proto Balance and Proto Balance fails that box. The box traffic light goes to red status immediately. The "Last fallover" message in the box configuration will show this HTTP error message.

         How can I install Proto Balance on 64-bit Intel/AMD Linux systems?

If you get the error "No such file or directory" when trying to run the installer, and you are using a 64-bit distribution of Linux (such as Ubuntu-x86_64) then you need to install the 32-bit compatibility libraries. The Ubuntu/Debian package is "ia32-libs". Simply type "apt-get install ia32-libs".

         Does Proto Balance disable the Nagle Algorithm? What is the Nagle Algorithm?

The Nagle Algorithm queues short TCP packets and merges them before sending. This can increase communication latency and is inappropriate for a load balancer. Proto Balance disables the Nagle Algorithm.

         How do I listen on multiple ports?

See the section "Multiple Clusters".

         How many clusters can I create?

Proto Balance has no limit to the number of clusters, and should scale to thousands of clusters. However, testing has only been done with a small number of clusters hence please proceed with caution.

         How many boxes can I create?

There is no limit to the number of boxes that you can create per cluster. However, testing has only been done with a moderate number of boxes. Proceed with caution over 200 boxes in total.

         What is the MTTF (Mean Time To Failure) of Proto Balance?

Proto Balance has no known bugs, memory leaks, or other resource leaks. It should run indefinitely under all the platforms on which it is supported, provided that its operation does not exceed configurable or inherent OS limits. The MTTF is therefore that of the hardware and OS platform under which it is running.

         How do I see the IP address of the connecting client?

See the section "X-Forwarded-For HTTP header" under "Advanced Options".

         What is the maximum number of unique IP addresses I can have with server affinity mode?

This refers to the feature "remembering the client IP4/IP6 address" as used on Unix systems. With this feature enabled, Proto Balance has memory space for recording the access of 1.5 million clients. Versions of Proto Balance before 200 do not expire these entries. If you expect more than say, 1 million, unique IP addresses visiting your site then do not enable this feature. Instead, see the section "Box affinity" in the user manual, and enable "Box determined by hashing the client address" - this will have a similar affect and ensure that clients do connect to the same physical machine each time.

Versions of Proto Balance after 200 (Proto Balance Advanced and Proto Balance SSL) expire the oldest clients from memory according to configurable parameters. See the Info tab in the configuration web page.

You may also increase shmmax over 128 megabytes, see "System Settings for High Performance" in the user manual. A value of 134217728 is recommended, but can be increased to 268435456 or 536870912 if your operating system allows it, and if your machine has sufficient physical memory. Remember that you need at least twice the physical memory as the value of shmmax.

Note that the option "-pthread" does not use shared memory, therefore has no such limitation. Also, the option "-shared mmap" is limited by other parameters.

         What SysV shared memory key does Proto Balance use? Semaphore key?

The shared memory keys are from 27920 (0x6D10 in hex) to 27936 (0X6D20 in hex). The semaphore lock key is 49565 (0xC19D in hex) to 49571 (0XC1A3 in hex). These are not configurable.

         How should I terminate Proto Balance? Can I use signal 9 (KILL) on Unix?

You should NEVER terminate Proto Balance with signal 9 (KILL or SIGKILL). Termination can be done with any proper terminating signal such as TERM, QUIT or INT (SIGTERM/SIGQUIT/SIGINT). Alternatively, go to the "Info" tab of the Proto Balance configuration web page and click on "Force balancer to shutdown".

         What is the maximum throughput possible with Proto Balance?

Proto Balance makes efficient use of your OS, however operating systems vary in performance. Proto Balance should saturate your network interface if it is at all possible to do so in user-space for your hardware+OS combination.

At very large numbers of concurrent connections, Proto Balance total throughput will be degraded. This can be quite pronounced on certain operating systems.

         On Windows I get the error "there is already another application listening on port 8080 on interface ALL..."? What do I do?

This means either that Proto Balance is already running, or that another application is listening on this port. If there is another application using port 8080, you will have to stop it first. Try un-installing any Web Service, Oracle, and application-server software.

Otherwise you can use the -configport option as explained in the Proto Balance top-level window.

         On Windows I get the error "Only one usage of each socket address..."? What do I do?

You are running out of certain TCP resources. Follow the instructions under "System Settings for High Performance with Your Operating System".

         Does Proto Balance use any custom kernel modules, kernel plug-ins, tap devices, low-level networking interception?

None. Proto Balance is an ordinary user-space executable.

         What kind of testing has Proto Co Networking done on Proto Balance?

Besides the performance testing above, Proto Balance has been run for hundreds of hours continuously at network-saturation load. Proto Balance has been verified under memory profiling tools such as Valgrind and Purify. Proto Balance incurred no errors or warnings by either of these tools and had flat OS resource consumption.

The Proto Co Networking team uses an internally developed TCP-scenario automated test harness, and on-site hardware for all supported platforms.

Proto Balance is self-monitoring with over 750 different internal consistency tests.

Portions of this software:

Copyright (c) 1990, 1993, 1994 The Regents of the University of California. All rights reserved.

This code is derived from software contributed to Berkeley by Margo Seltzer.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1.   Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2.   Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3.   All advertising materials mentioning features or use of this software must display the following acknowledgement:

This product includes software developed by the University of California, Berkeley and its contributors.

  4.   Neither the name of the University nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Free Trial | Products | News | Documentation | Customers | Support | About Us    2010, Shine The Way 238 CC. All rights reserved.