PoS(EGICF12-EMITC2)091



Similar documents
SEE-GRID-SCI. SEE-GRID-SCI USER FORUM 2009 Turkey, Istanbul December, 2009

Improved metrics collection and correlation for the CERN cloud storage test framework

Application Performance Testing Basics

Performance And Scalability In Oracle9i And SQL Server 2000

RCL: Software Prototype

PoS(EGICF12-EMITC2)110

Automated Performance Testing of Desktop Applications

AgencyPortal v5.1 Performance Test Summary Table of Contents

KonyOne Server Installer - Linux Release Notes

PANDORA FMS OFFICIAL TRAINING

Monitoring of computer networks and applications using Nagios

Maintaining Non-Stop Services with Multi Layer Monitoring

Dynamic Honeypot Construction

Monitoring Infrastructure for Superclusters: Experiences at MareNostrum

Shoal: IaaS Cloud Cache Publisher

Performance TesTing expertise in case studies a Q & ing T es T

/ Administrator Training PAT-2012

Virtual Machine Instance Scheduling in IaaS Clouds

Monitoring Windows Servers and Applications with GroundWork Monitor Enterprise 6.7. Product Application Guide October 8, 2012

PANDORA FMS OFFICIAL TRAINING

NOCTUA by init.at THE FLEXIBLE MONITORING WEB FRONTEND

Performance analysis and comparison of virtualization protocols, RDP and PCoIP

The Monitis Monitoring Agent ver. 1.2

TEST AUTOMATION FRAMEWORK

ICADBS402A Complete database backup and restore

ARDA Experiment Dashboard

ATLAS job monitoring in the Dashboard Framework

Comparative Analysis of Free IT Monitoring Platforms. Review of SolarWinds, CA Technologies, and Nagios IT monitoring platforms

DJRA1.6 FINAL RELEASE OF NEW GRID MIDDLEWARE SERVICES

Load Testing Tools. Animesh Das

To increase scalability, the following features can be integrated:

Choosing Application Performance Management (APM) Tools

Release System Administrator s Guide

Centralized logging system based on WebSockets protocol

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Fundamentals of LoadRunner 9.0 (2 Days)

SERVICE SCHEDULE PULSANT ENTERPRISE CLOUD SERVICES

HP OO 10.X - SiteScope Monitoring Templates

UNICORE REGISTRY MANUAL

PoS(ISGC 2013)021. SCALA: A Framework for Graphical Operations for irods. Wataru Takase KEK wataru.takase@kek.jp

Performance Testing of Java Enterprise Systems

Part I Courses Syllabus

CA Unified Infrastructure Management

Monitoring Drupal with Sensu. John VanDyk Iowa State University DrupalCorn Iowa City August 10, 2013

NEC SigmaSystemCenter Integrated Virtualization Platform Management Software

Container-based operating system virtualization: a scalable, high-performance alternative to hypervisors

Upgrading a Telecom Billing System with Intel Xeon Processors

ENTERPRISE-CLASS MONITORING SOLUTION FOR EVERYONE ALL-IN-ONE OPEN-SOURCE DISTRIBUTED MONITORING

How To Install An Aneka Cloud On A Windows 7 Computer (For Free)

NETWORK DESIGN BY USING OPNET IT GURU ACADEMIC EDITION SOFTWARE

CSS ONEVIEW G-Cloud CA Nimsoft Monitoring

Evaluation of Nagios for Real-time Cloud Virtual Machine Monitoring

1-Gigabit TCP Offload Engine

ICAWEB424A Evaluate and select a web hosting service

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Nimsoft Monitor. dns_response Guide. v1.6 series

The System Monitor Handbook. Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig

IBM Rational Asset Manager

TPAf KTl Pen source. System Monitoring. Zenoss Core 3.x Network and

Informatica Corporation Proactive Monitoring for PowerCenter Operations Version 3.0 Release Notes May 2014

PANDORA FMS NETWORK DEVICES MONITORING

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

Informatica Data Director Performance

Big Data Analytics - Accelerated. stream-horizon.com

A Comparison of Oracle Performance on Physical and VMware Servers

Virtual Desktops Security Test Report

Technology Services Overview Python/Django

Learning More About Load Testing

Realization of Network Systems using open source components (OpenWRT, Elastix & Asterisk)

Healthstone Monitoring System

ITSM Service Monitoring Using Open Source Tools

CentOS Linux 5.2 and Apache 2.2 vs. Microsoft Windows Web Server 2008 and IIS 7.0 when Serving Static and PHP Content

Infrastructure for active and passive measurements at 10Gbps and beyond

PANDORA FMS NETWORK DEVICE MONITORING

CA ARCserve Backup for Windows

Performance Tuning and Optimizing SQL Databases 2016

Open Source Backup with Amanda

Sun 8Gb/s Fibre Channel HBA Performance Advantages for Oracle Database

Mark Bennett. Search and the Virtual Machine

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Qlik Sense Enabling the New Enterprise

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

CA Performance Center

Transcription:

Performance testing of distributed computational resources in the software development phase, Eva Cernakova and Marek Kocan P. J. Safarik University in Kosice, Kosice, Slovak Republic E-mail: jcernak@upjs.sk A grid software harmonization is possible through adoption of standards i.e. common protocols and interfaces. In the development phase of standard implementation, the performance testing of grid subsystems can detect hidden software issues which are not detectable using other testing procedures. A simple software solution was proposed which consists of a communication layer, resource consumption agents hosted in computational resources (clients or servers), a database of the performance results and a web interface to visualize the results. Communication between agents, monitoring the resources and main control Python script (supervisor) is possible through the communication layer based on the secure XML-RPC protocol. The resource monitoring agent is a key element of performance testing which provides information about all monitored processes including their child processes. The agent is a simple Python script based on the Python psutil library. The second agent, provided after the resource monitored phase, records data from the resources in the central MySQL database. The results can be queried and visualized using a web interface. The database and data visualization scripts could be considered for a service thus the testers do not need install them to run own tests. EGI Community Forum 2012 / EMI Second Technical Conference, 26-30 March, 2012 Munich, Germany Speaker. c Copyright owned by the author(s) under the terms of the Creative Commons Attribution-NonCommercial-ShareAlike Licence. http://pos.sissa.it/

1. Introduction Performance testing in the development phase of a software production can provide early feedback about potential performance issues. The developers can propose and implement effective solutions to solve the performance issues before products are widely deployed [1, 2]. The EMI testing policy [3] covers performance testing activities during certification i.e. before public software deployment. The performance testing before wide deployment has specific needs. In some cases, for example memory leaks, more detailed information is needed not only about running daemons and processes (CPU times, memory usage, open ports and etc.) but also we need to know resource consumption of their child processes. The requirements on tool are: (i) an installation of the tool should be simple and quick with minimal maintenance, (ii) the tool should be flexible to easily realize new test cases. After a short review of available open tools we proposed to design a simple proprietory solution [5] which should meet all our required criteria i.e. easy set up and flexibility in usage with minimal maintenance. 2. Basic components of the performance tool The performance tool consists of two Python scripts which behave as agents, central DB with a web interface to visualize the results, and communication layer Fig. 1. One of the scripts, monitor_process_tree collects information about monitored processes and all their subprocesses. The script utilizes the Python psutil library [4] which is available for Linux and MS Windows. The second Python script send_proc_tree sends data from a monitored resource to the central DB. The activity of the scripts (agents) can be controlled manually, automatically or in a combination of manual and automatic control. In the manual mode a developer or tester manually starts or stops scripts monitor_process_tree and send_proc_tree on the resources. When monitoring of resources is stopped then script send_proc_tree sends the results to the central DB. This mode is the easiest way to obtain required performance parameters. Scripts are started: monitor_process_tree.py "list of process names" send_proc_tree.py "list of process names" In the automatic mode we need to run main Python script which sets up required parameters and initiates activity of basic scripts monitor_process_tree and send_proc_tree i.e. agents running on the resources. The main script depends on the test case. A secure XLM-RPC protocol is used for communication between resources and the main script. This simple structure can cover complex tests including monitoring of performance of processes running on several distributed resources (clients and servers). In many simple cases, a developer needs to install psutil library [4] and start two simple python scripts. For more complex tests, the developer can use the same approach or write own test script which synchronize events. The central database and visualization scripts could be considered for service to store and visualize the results from independent developers i.e. the developer does not need to install and maintain database. The proposed scenario is slightly different from the one that is adopted in 2

resorurce 1 Central DB resorurce n control layer resorurce 2 resorurce n-1 Figure 1: Main blocks of the performance test tool. Processes are - monitor_process_tree and - send_proc_tree other monitoring system which are designed to monitor performance and reliability of servers and services during long period, for example Nagios. 3. Performance test cases We separated performance testing in a few phases such as monitoring of processes, running of test cases, sending the results to DB, and visualization of the results. This approach allows the developer to run arbitrary own test without additional modifification what could be considered for advantage. The simplicity of usage is demonstrated by two simple test cases. The number of system parameters which we can assign to the process is limited by psutil library [4], however for many test cases the set of parameters is complete. The first test case covers testing of client-server performance during submission of 1000 tasks which were sent from the client to the server (load testing). The server hosted scripts monitor_process_tree.py and send_proc_tree.py which were started and stopped manually. Daemons arched and slapd including all their subprocesses were monitored for several minutes with interval of 2 seconds. The results were stored in the central DB and are available via web interface [5]. The second case demonstrates parameter testing i.e. seeking the optimal parameter setting of the slapd daemon to increase performance of server. During testing no jobs were submitted and a low usage of CPU was expected (Fig. 2). Initially the server installed and configured with the 2 nd release candidate of the EMI major release 2 (EMI-2rc2) showed that the slapd daemon consumed more CPU time than we expected (Fig. 2(a)). However, after a change of BDII and slapd settings in the newest release EMI-2rc4, the results showed less CPU usage see Fig. 2(b). Finally, we can track the performance parameters during development phase from a release to the next release. 3

Figure 2: Comparison of the CPU usage of the slapd process in the case when no jobs are submitted. The CPU usage for ARC CE for a software of version: (a) EMI-2rc2 and (b) EMI-2rc4. The x-axis is time in seconds and y-axis is CPU usage in %. 4. Conclusions A prototype of performance tool based on Python library psutil has been developed and tested. The prototype meets all our initial requirements. We assume that the scripts (agents) could be easily integrated in similar performance tools, for example Nagios. We plan to use the tool during the certification testing for the EMI-2 release as additional tool to Nagios probes which are currently deployed. However, more complex performance and profiling analysis of all ARC components will be realized after the EMI-2 release. We have identified a need to define widely acceptable performance test cases and minimal performance parameters across grid software vendors. For example, a number of submitted jobs per minute or reliability of job submission process, which could enable potential users to evaluate a quality of distributed software solutions. (a) (b) 5. Acknowledgment This work was done as part of the EMI project and partially funded by the European Commis- 4

sion under Grant Agreement INFSO-RI-261611. References [1] D5.4-1 RESOURCE CONSUMPTION PROFILE AND PERFORMANCE BENCHMARK STUDY OF THE EARLY PROTOTYPE RELEASE OF KNOWARC: http://www.knowarc.eu/documents/knowarc_d5.4-1_07.pdf [2] D5.4-1 RESOURCE CONSUMPTION PROFILE AND PERFORMANCE BENCHMARK STUDY OF THE FINAL RELEASE OF KNOWARC: http://www.knowarc.eu/documents/knowarc_d5.4-1_09.pdf [3] EMI testing policies: https://twiki.cern.ch/twiki/bin/view/emi/emisa2testpolicy [4] psutil cross-platform process and system monitoring module for Python: http://code.google.com/p/psutil/ [5] ARC tools for revision, functional and performance testing (including DB of test results and tool to generate EMI test reports): http://arc-emi.grid.upjs.sk/tests.php [6] ARC test coordination: http://wiki.nordugrid.org/index.php/testing 5