To start elasticity module evaluation 
--------------------------------------------------
>> Connect to Rabbitmq from outside NCSA to use Rabbitmq Management Interface:

ssh -L 5673:rabbitmq.ncsa.illinois.edu:5672 -L 15673:rabbitmq.ncsa.illinois.edu:15672 isda.ncsa.illinois.edu

Open the management interface on the browser typing: localhost:15673

>> Connect to Mongo from outside NCSA:
ssh -L 27017:mongo:27017 isda.ncsa.illinois.edu

>> on bd-elasticity.ncsa.illinois.edu:

- To query the status:
initctl list | grep bd

- To start or stop an individual bdelas service:
sudo start bdelas CLOWDER_INSTANCE=dts-dev
sudo stop bdelas CLOWDER_INSTANCE=dts-dev

- To start or stop all bdelas service instances:
sudo start bdelas-all-instances
sudo stop bdelas-all-instances

- To see the logs:
cd /var/log/upstart
sudo tail -f bdelas-dts-dev.log

- source BROWNDOG-openrc.sh (Obtain this from Nebula web interface under BROWNDOG project>Access & Security > API access> Download OpenStack RC file)

- To see the VMs used for an instance, e.g., for dts-dev:
nova list | grep dts_dev

- To be able to ssh into the VM, change to browndog user
sudo -u browndog -H -s /bin/bash

- Then ssh into a docker VM.
To see the docker containers:
docker ps -a

To stop one container:
docker rm -f opencv-faces-2

To start a container:
docker run --name=ocr-1 -d --restart=always -e 'RABBITMQ_URI="amqp://user1:password1@rabbitmq.ncsa.illinois.edu:5672/clowder-dev?heartbeat_interval=30"' -e 'RABBITMQ_EXCHANGE="dts"' -e 'TZ=/usr/share/zoneinfo/US/Central' ncsa/clowder-ocr:jsonld

To list container images:
docker images

To remove all containers:
docker rm $(docker ps -a -q)

To remove all images:
docker rmi $(docker images -q)

>> To start the tests:

Run the test script

https://opensource.ncsa.illinois.edu/bitbucket/projects/BD/repos/benchmark-web/browse/dts_benchmark_file_atRate-no-sleep.py

python dts_benchmark_file_atRate.py <num of testfiles>

>> Obtain the data from the database for analysis:

query_elas.js 

//print("# queue name,time,num_msgs,num_consumers,total_num_msgs_published,total_num_msgs_delivered, num_vms");
db = db.getSiblingDB('browndog_dev');
db.extr.find({"$and": [{"time": {"$gte": ISODate("2016-03-31T11:11:00.00Z")}}, {"time": {"$lte": ISODate("2016-03-31T11:40:00.000Z")}},{"name":"ncsa.image.ocr"}]}).sort({time:1}).forEach(function(jo){print(jo.time.getTime() + " "+ jo.num_msgs.toString() + " " + jo.num_consumers.toString() + " " + jo.hosts.length.toString());});

query_noelas.js

Note the collection is different when EM module is switched off and we only ran rabbitmq-monitor to collect statistics.

db = db.getSiblingDB('browndog_dev');
db.queues.find({"$and": [{"time": {"$gte": ISODate("2016-04-08T20:35:00.00Z")}}, {"time": {"$lte": ISODate("2016-04-08T21:45:00.000Z")}},{"name":"ncsa.cv.profiles"}]}).sort({time:1}).forEach(function(jo){print(jo.time.getTime() + " "+ jo.num_msgs.toString() + " " + jo.num_consumers.toString() + " " + jo.hosts.length.toString());});

>> Shell script to obtain number of consumers and hosts as queue length vary over time from the query results of database.

queues_convert_time_final.sh

>> Matlab plot script : MATLAB script to plot the data

profile_queue_31stMarch16.m

  • No labels