#Bluemix Kitura Performance Tests
BluKit Test is a specialized IBM Kitura web app server running on various hardware configurations
At the moment there are two publicly deployed servers running on IBM’s Bluemix Development cloud:
You can play with these servers - skip ahead to see some results below.
##What are we testing? Right now the tests emphasize external outbound calling from the Kitura Servers to remote services.
###Inline Tests The basic tests are invokable by simple urls:
- json server status
- apple music homepage as html
- 100k image download from amazon s3
- 10mb image downloadload from wikipedia
- remote web service call for json server status on blukit01
- remote web service call for json server status on blukit02
Except as noted, these services return JSON back to the caller/browser with timing statistics. These URLs are useful with the AB terminal shell utility. All are useful from the Blumix Tests server homepage.
These tests are similar, but they are long running and moved into the background and out of Kitura’s way as soon as possible. The caller receives a ‘Queued’ status result. Currently, these long running tests deliver results thru the Kitura and/or BlueMix Console Logs.
The basic tests above are available as background tests on the homepage menu. There are two controllable parameters:
- max concurrent queues for background Operations
- total repetitions of a test - distributed amongst the queues.
Fortunately OperationQueues and Operations are workable under both Linux and OSX
#If you want to run your own
This project contains one or more swift files. In particular the swift file Controller.swift replaces the IBM template-generated Controller.swift. You are going to have to copy these swift files into various operating environments because of various automation pipelines that add extra code to the server (esp CloudFoundry) and O/S differences.
The Controller.swift file has been tested on OS/X 10.12 and IBM Bluemix Linux (Docker Containers).
##Deployment to Bluemix
Preferably, use the IBM Cloud Tools to generate a Kitura Test Server. After you have a local xcode project, just replace the Controller.swift file with the one in this project. If you like you can run this on your local Mac, but eventually you will use Cloud Tools
To manage the Bluemix servers you may find this helpful - ibm blue mix dashbord
It is preferable to set the Scheme in XCode to something other than Kitura-Sample so you can have multiple different servers all based on the same sample.
###Running On Your Mac
After replacing and adding Controller.swift and all other swift files just “Build and Run” and you will have a server running on http://localhost:8090
As of this writing I cant get the Project Name to change in XCode without breaking the kitura build. Under investigataion
Send email to email@example.com to join adhoc distribution