com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_link3' is unknown.

BAM Receiver Performance

This section includes the description and results of performance testing made on WSO2 BAM Receiver. These tests was conducted on Amazon EC2   instances with 3- Node cassandra cluster setup. The testing was done with simple  events and HTTPD log  events . Testing was made on following three different setups and the detailed description about the testing and final results are provided below.



Setup -1 (Simple Event receiving with 1GB Cassandra Heap Memory)

In this setup, KPI events was sent to WSO2 BAM receiver  with many client threads concurrently. In this setup the BAM receiver was operating with 3 Node cassandra cluster. The below are the configuration of each BAM and cassandra instances used in this testing.

ConfigurationValue
Deployment

3 - Node Cassandra cluster

1 - Node BAM Receiver

1 - Node Client

Instance Type

Cassandra - High I/O Quadruple Extra Large Instance

Receiver, Client Nodes – Extra Large Instances

Cassandra node heap memory

1 GB (default)
Receiver node heap memory1 GB (default)
Events/(client * thread)1000 events (1k)


The below is the stream definition of the events used in this setup.

{  name:  testStream  ,
                      version:  1.0.0 ,
                      nickName: org.wso2.simple.stream,
                      description: This is a simple performance testing stream,
                      metaData:[
                              {name:clientType,type:STRING}
                      ],
                      payloadData:[
                              {name:message,type:STRING}
                      ]
          }
                   


Results -1 (Concurrency Vs Throughput)















Result - 2 (No of clients Vs Throughput)


Results - 3 (No of Events Vs Throughput)



Setup - 2 (Simple Event receiving with 8GB Cassandra Heap Memory)

In this setup, the cassandra heap memory size was increased for 8GB and ran the test same as the setup-1. The stream definition of the events sent to this setup is same as the  setup-1. The configurations for the instances running in this testing setup is provided below.

ConfigurationValue
Deployment

1 - Node Cassandra

1 - Node BAM Receiver

1 - Node Client

Instance Type

Cassandra - High I/O Quadruple Extra Large Instance

Receiver, Client Nodes – High I/O Quadruple Extra Large Instance

Cassandra node heap memory

8 GB
Receiver node heap memory4 GB
Events/(client * thread)

1000 events (1k)



Results (No of clients vs Avg.Throughput)


Setup - 3 (HTTPD Log event receiving with 8GB Cassandra Heap Memory )

In this setup, the number of clients and the receivers gradually increased and sustained the load average of BAM receiver less than 30 and measured the receiver performance. Here not only throughput of super tenant as setup1 and 2 is measured but also the tenant related BAM receiver throughput is also measured. The configuration of instances used in this setup is provided below.

 

ConfigurationValue
Deployment

3 - Node Cassandra

M - Node BAM Receiver

N - Node Client

Instance Type

Cassandra - High I/O Quadruple Extra Large Instance

Receiver, Client Nodes – High I/O Quadruple Extra Large Instance

Cassandra node heap memory

8 GB
Receiver node heap memory4 GB
Events/(client * thread)

18000k events



Sample HTTPD log event published in this testing is provided below,

{  name:  streamName  ,
   version:  version  ,
   nickName: HTTPD Logs,
   description: HTTPD logs,
   metaData:[
              {name:clientType,type:STRING}
            ],
   payloadData:[
              {name:log,type:STRING}
            ]
}


The below is the stream definition used to publish the HTTPD logs sample,

webster.mae.apple.com - - [07/Jul/1995:13:22:11 -0400] "GET /shuttle/missions/missions.html HTTP/1.0" 200 8677


Results (No of clients Vs Throughput)



 

com.atlassian.confluence.content.render.xhtml.migration.exceptions.UnknownMacroMigrationException: The macro 'next_previous_links2' is unknown.