stephen
04-24-2009, 02:30 PM
It is possible for an appliance such as HALB to fail ungracefully under heavy network load if it has insufficient memory. Typically in this case one or more of the out terminals fails.
If you ssh into the running appliance and "wget http://out1/target" the command fails.
Upon examining the system log, you will likely see page allocation failures in the network susbsystem (failure to allocate skb).
To fix the problem, assign more memory to the HALB appliance: "comp restart main.HALB-name mem=new-value" and/or change the memory assigned to the appliance in the application editor and restart the application.
By way of example, this failure was observed after several minutes of sustained 1000 requests/second load against a 40Kb dynamically generated target with HALB configured to use 256MB of memory. In this case the dynamic generation of the target gives rise to a large number of pending requests on HALB. HALB consumes about 25Kb of memory per session.
If you ssh into the running appliance and "wget http://out1/target" the command fails.
Upon examining the system log, you will likely see page allocation failures in the network susbsystem (failure to allocate skb).
To fix the problem, assign more memory to the HALB appliance: "comp restart main.HALB-name mem=new-value" and/or change the memory assigned to the appliance in the application editor and restart the application.
By way of example, this failure was observed after several minutes of sustained 1000 requests/second load against a 40Kb dynamically generated target with HALB configured to use 256MB of memory. In this case the dynamic generation of the target gives rise to a large number of pending requests on HALB. HALB consumes about 25Kb of memory per session.