Bxp Infrastructure Capacity

From All n One's bxp software Wixi

Jump to: navigation, search

1 Methodology Used

Please note that this planning was confirmed in February 2016.  In March 2016 bxp Release 10 saw a significant increase in server performance.  bxp has not been tested against the improved server capacities but will exceed all figures currently stated.  Bxp_Release_10


Capacity planning is essential to ensure that performance of the solution is effective for all scenarios. Given the extremely heterogeneous nature of the bxp environment it becomes “best guess” for items that are being prototyped.


There are formal approaches which can be used. Microsoft provide one potential approach in: http://msdn.microsoft.com/en-us/library/ff650695.aspx


Transaction Cost Analysis

  • Step 1. Compile a User Profile
  • Step 2. Execute Discrete Tests
  • Step 3. Measure the Cost of Each Operation
  • Step 4. Calculate the Cost of an Average User Profile
  • Step 5. Calculate Site Capacity
  • Step 6. Verify Site Capacity


Predictive Analysis

  • Step 1. Collect Performance Data
  • Step 2. Query the Existing Historical Data
  • Step 3. Analyze the Historical Performance Data
  • Step 4. Predict Future Requirements


1.1 Existing Infrastructure Capacities

It is important to know what kit is available and identify the bottlenecks at different points.


1.1.1 Network Diagram

Supplied on application via Business Development manager  

1.1.2 Core Network

1Gbps / 1Gbps uncontended.


1.1.3 Cisco ASA 5510

http://www.cisco.com/c/en/us/products/collateral/security/asa-5500-series-next-generation-firewalls/product_data_sheet0900aecd802930c5.html


Table 2. Cisco ASA 5510 Adaptive Security Appliance Platform Capabilities and Capacities


Firewall Throughput

  • Up to 300 Mbps


Maximum Firewall and IPS Throughput

  • Up to 150 Mbps with AIP SSM-10
  • Up to 300 Mbps with AIP SSM-20


VPN Throughput Up to 170 Mbps Concurrent Sessions 50,000; 130,0001


Performance numbers tested and validated with Cisco ASA Software Release 7.2.

1.1.4 Barracuda 340

https://www.barracuda.com/products/loadbalancer/models

340

  • 1 Gbps Maximum Throughput
  • 35 Real Servers Supported
  • 1U Mini Rackmount Chassis
  • 1.2 Amps Input Current
  • 2 x Gigabit Ethernet Connections
  • Layer 4 Load Balancing
  • Direct Server Return
  • 500 TPS SSL Offloading/Acceleration
  • High Availability
  • VLAN
  • Layer 7 Load Balancing
  • Cookie Persistence
  • SIP Call ID Persistence
  • SSL Offloading
  • Content Routing
  • SNMP/API

1.1.5 Servers

Supplied on application via Business Development manager

2 Testing Profiles

The user profile within bxp varies from client to client and system to system, making creating an example user profile an almost impossible task. So instead we have three possible ways of reviewing the capacity.


2.1 Resource usage

With Classic ASP, a spike in the CPU indicates that the server received and processed a request as quickly as possible. This renders CPU monitoring unhelpful, except to identify protracted processing spikes which can be coding errors, extensive reports or temporary system usage spikes. RAM usage and Hard drive usage are measured but frequently and dynamically change depending on operational situation and time of the month.


2.2 Availability sampling

Putting a heartbeat on the system to keep an eye on when the system was available is currently done by All n One and Sungard AS. It is a ping test to ensure the system responds. This has been 100% since October 2008. This doesn’t really provide capacity planning but to state that the service was available.


2.3 Speed testing

The most effective capacity testing we have been able to use to date is to profile length of time from browser “request” to the finished response rendering. This testing has been facilitated by the extensive enhancements available in Internet Explorer 11 User Responsiveness capability.

Using timing and detailed breakdown of where a request / response test is performed the different aspects of the test must be individually measured. However overall experience is the measurement and provides the most globally useful testing.


2.4 Elements of the capacity test

When performing the test, we need to ensure consistency. For this certain elements may be ruled in or out. The key timing aspects are:


Chronological positioning

  • Time of day
  • Day of week
  • Date in month
  • Month of year
  • Known project events


Testing environment

  • Client machine used specifications
  • Internet connection specification
  • Load on internet connection / dedication of internet connection
  • Running applications
  • Interim connections (communications devices / hops between testing machine and bxp)


Request

  • HTML function type (page elements: text, images, video)
  • Database functions required (Select, Update )
  • Streaming elements (video, audio, conference, Citrix connection)
  • JavaScript (client side rendering)


So with so many variables, devices and in flux components, simple stop watch testing is the most effective form of testing identified by All n One to date.

3 Potential worked models

3.1 Default Operation

All n One are sometimes requested by IT departments as to our capacity.

  • Daily monitored stats put the operational statistics at 2 to 3% CPU usage on the web servers.
  • < 3% average usage on the database server
  • RAM file size constantly increases so is on an auto reset to ensure consistency.
  • Hard drive space is monitored daily to ensure capacity is always available.
  • Database speeds are reviewed using Percona SlowLog for systems analysis and Db query improvement.


Live operational displays supplied on application via Business Development manager.

3.2 Worked Example 1 - External site usage and uploading

3.2.1 File submission

Documents are usually transmitted to us from an interim server rather than direct file upload. So the capacity of transfer with the given infrastructure would be


Remote server upload speed: Unknown, assume unlimited.

bxp server accept speed: Bottleneck = Firewall 300Mbps

File size: 500Kb


Result: bxp at this level theoretically accepts 600 documents in 1 second with no other traffic or activity.


3.2.2 Information submission

A page request size varies depending on circumstance, however 500 bytes would be conservative estimate


http://stackoverflow.com/questions/1378476/http-get-request-packet-size-in-bytes


This means bxp can handle 600,000 requests per second for pages simultaneously.


The returning page size varies greatly as well


Using the BEAPI, XML responses are sent. The XML with some data would not typically be much bigger. With a conservative guesstimate of 2Kb, we can guesstimate that bxp can supply 150,000 responses per second.