These scripts represent a GUI interface for the open-source multi-protocol distributed load testing tool TSUNG. It's not really fancy and the main aim of the script is to be able to start, monitor and manage testruns. It was written by developers working at blueend.com to facilitate the needs for easy and fast load tests.
You can setup different Test-Scenarios (individual config and clickpath xmls used by tsung) and add a run task for tsung over the GUI. An additional comment can be used to note changes you did to your target machine (we usually end up tweaking some parameters and repeat the process to compare the results). During the loadtest this interface will display status information on the running test. When the test is completed these script will automatically trigger the tsung_stats.pl and generate the html report. You can then access the report right from the gui.
Please download the latest version (0.2) here: tsungui.zip
You need to have a fully functional tsung setup working. Please refer to the TSUNG documentation for the compiling and setup instructions.
The script is using PHP/mySQL to keep track of running tests. PHP 5+ should do fine. POSIX commands should be enabled (enabled by default in PHP)
Please note that the script is using shellcommands and as such you must consider safe_mode and the safe_mode_exec_dir directive. If you have safe_mode = off, the script should run fine.
Copy the contents of the package to a web-accessible location (e.g. /var/www/html/tsungui/)
Create the 'statusinfo' table with the provided db.sql file or just use this statement:
CREATE TABLE `statusinfo` (
`id` int(11) NOT NULL auto_increment,
`status` enum('waiting','running','canceled','finished') default NULL,
`template` varchar(255) default NULL,
`comment` text,
`starttime` varchar(16) default NULL,
PRIMARY KEY (`id`)
)Adapt the config.inc.php to reflect your settings:
define('blueendCom_DB_USER', 'your mysql user');
define('blueendCom_DB_PASS', 'your mysql password');
define('blueendCom_DB_NAME', 'your database name');
define('blueendCom_DB_SERVER', 'localhost');
define('blueendCom_PATH_TEMPLATES',dirname(__file__).'/templates/');Add a crontab [crontab -e] for the periodic check on the task queue (adapt paths as needed):
* * * * * /usr/bin/php /var/www/html/tsungui/cron.php >> /var/log/tsungui.log 2>&1Look at the folder template/example. You'll find 2 xml files needed by TSUNG for a testrun. Change these as needed:
config.xml represents the settings of this "example" loadtest
clickpath.xml represents the individual clicks on your target system - you can create a clickpath by using the TSUNG recorder
If you have questions/feedback please leave a comment here
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.