wget http://svn.zope.org/checkout/zc.buildout/trunk/bootstrap/bootstrap.py
Created
June 2, 2009 03:41
-
-
Save danmueller/121977 to your computer and use it in GitHub Desktop.
ActiveMQ perftest
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# this file should be sourced (preferable with set -u) | |
# if the execution model is unchanged, then this will be sourced from | |
# .bashrc | |
export DOWNLOADS=$HOME/downloads | |
export JAVA_HOME=/usr/lib/jvm/java-6-sun | |
export M2_HOME=/home/ubuntu/apache-maven-2.1.0 | |
export M2=$M2_HOME/bin | |
export PATH=$PATH:$M2 | |
export MAVEN_OPTS=-Xmx512M | |
#EC2_BASE=~/.ec2 | |
#export EC2_HOME=`ls -1td $EC2_BASE/ec2-api-tools* | head -n1` | |
#export PATH=$PATH:/opt/local/bin:/opt/local/sbin:$EC2_HOME/bin:~/.scripts/bin | |
#export EC2_PRIVATE_KEY=`ls $EC2_BASE/certs/pk-*.pem` | |
#export EC2_CERT=`ls $EC2_BASE/certs/cert-*.pem` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ~/.bashrc: executed by bash(1) for non-login shells. | |
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | |
# for examples | |
# If not running interactively, don't do anything | |
[ -z "$PS1" ] && return | |
# don't put duplicate lines in the history. See bash(1) for more options | |
# don't overwrite GNU Midnight Commander's setting of `ignorespace'. | |
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups | |
# ... or force ignoredups and ignorespace | |
export HISTCONTROL=ignoreboth | |
# append to the history file, don't overwrite it | |
shopt -s histappend | |
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) | |
# check the window size after each command and, if necessary, | |
# update the values of LINES and COLUMNS. | |
shopt -s checkwinsize | |
# make less more friendly for non-text input files, see lesspipe(1) | |
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" | |
# set variable identifying the chroot you work in (used in the prompt below) | |
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then | |
debian_chroot=$(cat /etc/debian_chroot) | |
fi | |
# set a fancy prompt (non-color, unless we know we "want" color) | |
case "$TERM" in | |
xterm-color) color_prompt=yes;; | |
esac | |
# uncomment for a colored prompt, if the terminal has the capability; turned | |
# off by default to not distract the user: the focus in a terminal window | |
# should be on the output of commands, not on the prompt | |
#force_color_prompt=yes | |
if [ -n "$force_color_prompt" ]; then | |
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then | |
# We have color support; assume it's compliant with Ecma-48 | |
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such | |
# a case would tend to support setf rather than setaf.) | |
color_prompt=yes | |
else | |
color_prompt= | |
fi | |
fi | |
if [ "$color_prompt" = yes ]; then | |
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' | |
else | |
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' | |
fi | |
unset color_prompt force_color_prompt | |
# If this is an xterm set the title to user@host:dir | |
case "$TERM" in | |
xterm*|rxvt*) | |
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" | |
;; | |
*) | |
;; | |
esac | |
# Alias definitions. | |
# You may want to put all your additions into a separate file like | |
# ~/.bash_aliases, instead of adding them here directly. | |
# See /usr/share/doc/bash-doc/examples in the bash-doc package. | |
if [ -f ~/.bash_aliases ]; then | |
. ~/.bash_aliases | |
fi | |
# enable color support of ls and also add handy aliases | |
if [ -x /usr/bin/dircolors ]; then | |
eval "`dircolors -b`" | |
alias ls='ls --color=auto' | |
#alias dir='dir --color=auto' | |
#alias vdir='vdir --color=auto' | |
alias grep='grep --color=auto' | |
alias fgrep='fgrep --color=auto' | |
alias egrep='egrep --color=auto' | |
fi | |
# some more ls aliases | |
alias ll='ls -CF' | |
alias la='ls -Al' | |
alias l='ls -l' | |
# enable programmable completion features (you don't need to enable | |
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile | |
# sources /etc/bash.bashrc). | |
if [ -f /etc/bash_completion ]; then | |
. /etc/bash_completion | |
fi | |
# Path definitions. | |
# You may want to put all your path exports into a separate file | |
# like ~/.bash_exports, instead of adding them here directly. | |
if [ -f ~/.bash_exports ]; then | |
. ~/.bash_exports | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ~/.bashrc: executed by bash(1) for non-login shells. | |
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc) | |
# for examples | |
# If not running interactively, don't do anything | |
[ -z "$PS1" ] && return | |
# don't put duplicate lines in the history. See bash(1) for more options | |
# don't overwrite GNU Midnight Commander's setting of `ignorespace'. | |
export HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredups | |
# ... or force ignoredups and ignorespace | |
export HISTCONTROL=ignoreboth | |
# append to the history file, don't overwrite it | |
shopt -s histappend | |
# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) | |
# check the window size after each command and, if necessary, | |
# update the values of LINES and COLUMNS. | |
shopt -s checkwinsize | |
# make less more friendly for non-text input files, see lesspipe(1) | |
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" | |
# set variable identifying the chroot you work in (used in the prompt below) | |
if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then | |
debian_chroot=$(cat /etc/debian_chroot) | |
fi | |
# set a fancy prompt (non-color, unless we know we "want" color) | |
case "$TERM" in | |
xterm-color) color_prompt=yes;; | |
esac | |
# uncomment for a colored prompt, if the terminal has the capability; turned | |
# off by default to not distract the user: the focus in a terminal window | |
# should be on the output of commands, not on the prompt | |
#force_color_prompt=yes | |
if [ -n "$force_color_prompt" ]; then | |
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then | |
# We have color support; assume it's compliant with Ecma-48 | |
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such | |
# a case would tend to support setf rather than setaf.) | |
color_prompt=yes | |
else | |
color_prompt= | |
fi | |
fi | |
if [ "$color_prompt" = yes ]; then | |
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' | |
else | |
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' | |
fi | |
unset color_prompt force_color_prompt | |
# If this is an xterm set the title to user@host:dir | |
case "$TERM" in | |
xterm*|rxvt*) | |
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" | |
;; | |
*) | |
;; | |
esac | |
# Alias definitions. | |
# You may want to put all your additions into a separate file like | |
# ~/.bash_aliases, instead of adding them here directly. | |
# See /usr/share/doc/bash-doc/examples in the bash-doc package. | |
#if [ -f ~/.bash_aliases ]; then | |
# . ~/.bash_aliases | |
#fi | |
# enable color support of ls and also add handy aliases | |
if [ -x /usr/bin/dircolors ]; then | |
eval "`dircolors -b`" | |
alias ls='ls --color=auto' | |
#alias dir='dir --color=auto' | |
#alias vdir='vdir --color=auto' | |
#alias grep='grep --color=auto' | |
#alias fgrep='fgrep --color=auto' | |
#alias egrep='egrep --color=auto' | |
fi | |
# some more ls aliases | |
#alias ll='ls -l' | |
#alias la='ls -A' | |
#alias l='ls -CF' | |
# enable programmable completion features (you don't need to enable | |
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile | |
# sources /etc/bash.bashrc). | |
if [ -f /etc/bash_completion ]; then | |
. /etc/bash_completion | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[alias] | |
st = status | |
ci = commit | |
co = checkout | |
w = whatchanged | |
[diff] | |
renamelimit = 0 | |
[color] | |
diff = auto | |
interactive = auto | |
status = auto | |
branch = auto | |
[apply] | |
whitespace = fix |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target | |
reports |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
activemq-data | |
target | |
reports |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bin | |
*eggs/ | |
*.egg-info/ | |
.installed.cfg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
*.class |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bindkey -d ^? stuff ^H | |
bindkey -d ^@ stuff ^H |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
logging.basicConfig(level=logging.INFO, | |
format='[%(name)s %(levelname)s] %(message)s') | |
# format='[%(levelname)s] %(message)s') | |
logging.getLogger('boto').setLevel(logging.DEBUG) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
logging.basicConfig(level=logging.INFO, | |
format='[%(name)s %(levelname)s] %(message)s') | |
# format='[%(levelname)s] %(message)s') | |
logging.getLogger('boto').setLevel(logging.DEBUG) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
logging.basicConfig(level=logging.INFO, | |
format='[%(name)s %(levelname)s] %(message)s') | |
# format='[%(levelname)s] %(message)s') | |
logging.getLogger('boto').setLevel(logging.DEBUG) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
logging.basicConfig(level=logging.INFO, | |
format='[%(name)s %(levelname)s] %(message)s') | |
# format='[%(levelname)s] %(message)s') | |
logging.getLogger('boto').setLevel(logging.DEBUG) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<h2><a name="ActiveMQPerformanceModuleUsersManual-RunningMaven2PerformanceTest"></a>Running Maven 2 Performance Test</h2> | |
<p>This <span class="nobr"><a href="http://maven.apache.org" title="Visit page outside Confluence" rel="nofollow">Maven 2</a></span> plugin allows you to run performance tests easily using the Maven command line or run tests automatically in <span class="nobr"><a href="http://maven.apache.org/continuum/" title="Visit page outside Confluence" rel="nofollow">Continuum</a></span></p> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-Prerequisites"></a>Prerequisites</h3> | |
<p>Currently we have not released the plugin so you could well have to build it yourself first. Start with a complete build of Apache ActiveMQ and then do</p> | |
<div class="code"><div class="codeContent"> | |
<pre class="code-java">cd tooling/maven-activemq-perf-plugin | |
mvn clean install</pre> | |
</div></div> | |
<p>To run the following Maven goals make sure you are inside a Maven2 project directory where its POM is enabled with the Maven2 plugin such as the <span class="nobr"><a href="http://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-perftest/" title="Visit page outside Confluence" rel="nofollow">activemq-perftest module</a></span>.</p> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-Gettingstarted"></a>Getting started</h3> | |
<p>To get started try typing the following commands into separate shells from the <span class="nobr"><a href="http://svn.apache.org/repos/asf/incubator/activemq/trunk/activemq-perftest/" title="Visit page outside Confluence" rel="nofollow">activemq-perftest directory</a></span></p> | |
<div class="code"><div class="codeContent"> | |
<pre class="code-java">mvn activemq-perf:broker -Durl=broker:tcp:<span class="code-comment">//localhost:61616 | |
</span>mvn activemq-perf:consumer | |
mvn activemq-perf:producer</pre> | |
</div></div> | |
<p>If you run the broker on a different machine then change the producer and consumer commands to</p> | |
<div class="code"><div class="codeContent"> | |
<pre class="code-java">mvn activemq-perf:consumer -Dfactory.brokerUrl=tcp:<span class="code-comment">//host:port | |
</span>mvn activemq-perf:producer -Dfactory.brokerUrl=tcp:<span class="code-comment">//host:port</span></pre> | |
</div></div> | |
<p>where you switch host:port with the actual values.</p> | |
<p>When you run the producer & consumer, it generates an XML performance report in the current directory, so that you can graph and chart the results etc. See the <a href="/confluence/display/ACTIVEMQ/sample+report" title="sample report">sample report</a></p> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-Mavengoals"></a>Maven goals</h3> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Goal </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> activemq-perf:broker </td> | |
<td class="confluenceTd"> Starts broker using the activemq configuration file located in "src\main\resources\broker-conf" where the default config is activemq.xml. <br clear="all"> | |
Parameters: <br clear="all"> | |
1. -DconfigType - specifies the type of configuration to use. Its value must be one of the filename in the "..\broker-config" directory (e.g. -DconfigType=kaha). <br clear="all"> | |
2. -DconfigFile - path to config file other than those in "src\..\broker-config".e.g -DconfigFile=c:\dir\activemq.xml) </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> activemq-perf:consumer </td> | |
<td class="confluenceTd"> Starts the consumer's performance testing. The generated report file can be found in the directory specified in the parameter "sysTest.reportDir". </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> activemq-perf:producer </td> | |
<td class="confluenceTd"> Starts the producer's performance testing. The generated report file can be found in the directory specified in the parameter "sysTest.reportDir". </td> | |
</tr> | |
</tbody></table> | |
<p><sup>1</sup> <b>Note</b>:The parameters for both consumer and producers are described in the next section. (<a href="/confluence/display/ACTIVEMQ/sample+report" title="sample report">sample report</a>)</p> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-ConfigurationforrunningasystemofJMSClients(Producer/Consumer)"></a>Configuration for running a system of JMS Clients (Producer/Consumer)</h3> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value <br clear="all"> </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.clientPrefix </td> | |
<td class="confluenceTd"> JmsConsumer or JmsProducer </td> | |
<td class="confluenceTd"> Specifies the client name prefix that will be use for each system. By default it will use JmsConsumer for consumer systems, and JmsProducer for producer systems. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.numClients </td> | |
<td class="confluenceTd"> 1 </td> | |
<td class="confluenceTd"> Specifies the number of JMS Clients to start. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.totalDests </td> | |
<td class="confluenceTd"> 1 </td> | |
<td class="confluenceTd"> Specifies the total number of destinations to use for the whole system test. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.destDistro </td> | |
<td class="confluenceTd"> all </td> | |
<td class="confluenceTd"> Specifies how to distribute the destinations to the clients. Available values are (Invalid value will result to using the default value 'all')<sup>1</sup>: | |
<ul> | |
<li>'all' - All clients will send/receive to all destinations. i.e. if there are 2 producers and 5 destinations, each producer will send a message to each individual destination.</li> | |
<li>'equal' - Clients will equally divide the destinations among themselves. i.e. if there are 2 producers and 5 destinations, each producer will send messages to 2 destinations. The fifth destination will not be used.</li> | |
<li>'divide' - Clients will divide the destinations among themselves regardless of equality. i.e. if there are 2 producers and 5 destinations, producer 1 will send to 3 destinations, while producer 2 will send to 2 destinations.</li> | |
</ul> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.reportDirectory </td> | |
<td class="confluenceTd"> ./ </td> | |
<td class="confluenceTd"> The directory where the sampler report will be saved. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.reportName </td> | |
<td class="confluenceTd"> null </td> | |
<td class="confluenceTd"> The default filename the sampler report will be saved us. There is usually no need to set this setting as the default value will create either JmsProducer_numClients#<em>numDests#</em><Dest Distro>.xml and JmsConsumer_numClients#_numDests#_<Dest Distro>.xml, where # represents the number of clients and destinations set for that system, and <Dest Distro> specifies the destination distribution for the system. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.reportType </td> | |
<td class="confluenceTd"> xml </td> | |
<td class="confluenceTd"> Specifies the manner of generating the performance report. Available values are: | |
<ul> | |
<li>'xml' - Write the performance report into an xml file. Specified by reportDirectory and reportName. A verbose summary will also be displayed at the end of the test.</li> | |
<li>'verbose' - All information will be written to the standard output, which includes settings, sampler data, and performance summary.</li> | |
</ul> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.samplers </td> | |
<td class="confluenceTd"> tp,cpu </td> | |
<td class="confluenceTd"> Specifies the samplers that will be started. To use enable more than one sampler, separate the values by commas without spaces. Available values are: | |
<ul> | |
<li>'tp' - Throughput sampler</li> | |
<li>'cpu' - CPU Usage sampler</li> | |
</ul> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> sysTest.spiClass </td> | |
<td class="confluenceTd"> org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI </td> | |
<td class="confluenceTd"> The service provider interface class that allows the client to create a generic connection factory. Current available SPI classes include: | |
<ol> | |
<li>'org.apache.activemq.tool.ActiveMQPojoSPI'</li> | |
<li>'org.apache.activemq.tool.ActiveMQClassLoaderSPI'</li> | |
</ol> | |
</td> | |
</tr> | |
</tbody></table> | |
<p><sup>1</sup> <b>Note</b>: If the number of destinations is less than the number of clients and the distribution type is either 'equal' or 'divide', each client will send/receive from only one destination, distributing the destinations among the clients. i.e. if there are 5 producers and 2 destinations, 3 producers will send to destination 1, and 2 producers will send to destination 2. Also, a consumer can only receive from a single destination, unless composite destination is supported and specified.</p> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-ConfigurationforrunningaJMSProducer"></a>Configuration for running a JMS Producer</h3> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.sessTransacted </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> Specifies if the session created will be transacted or not. See the JMS Specifications for more details. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.sessAckMode </td> | |
<td class="confluenceTd"> autoAck </td> | |
<td class="confluenceTd"> Specified the acknowledge mode of the session. See the JMS Specifications for more details. Available values are: | |
<ol> | |
<li>'autoAck' - Session.AUTO_ACKNOWLEDGE</li> | |
<li>'clientAck' - Session.CLIENT_ACKNOWLEDGE</li> | |
<li>'dupsAck' - Session.DUPS_OK_ACKNOWLEDGE</li> | |
<li>'transacted' - Session.TRANSACTED</li> | |
</ol> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.destName </td> | |
<td class="confluenceTd"> TEST.FOO </td> | |
<td class="confluenceTd"> The prefix of the destination name to use. To specify a queue, prefix the destination name with 'queue://', for topics, prefix the destination with 'topic://'. If no prefix is specified, a topic will be created. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.destComposite </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If there are more than one destination, and destComposite=true, the destinations will be merged into one. This assumes that the provider supports composite destinations. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.deliveryMode </td> | |
<td class="confluenceTd"> nonpersistent </td> | |
<td class="confluenceTd"> The message delivery mode that will be used for each producer. Available values are: | |
<ol> | |
<li>'nonpersistent' - use non-persistent delivery mode. javax.jms.DeliveryMode.NON_PERSISTENT.</li> | |
<li>'persistent' - use persistent delivery mode. javax.jms.DeliveryMode.PERSISTENT.</li> | |
</ol> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.messageSize </td> | |
<td class="confluenceTd"> 1024 bytes </td> | |
<td class="confluenceTd"> The size of each text message to send. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.createNewMsg </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, each send will create a new JMS Message with the specified message size with incrementing text messages (i.e. Text Message 1, Text Message 2, ...). If false, only one message will be created before the send loop, and this message will be sent over and over again. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.sendType </td> | |
<td class="confluenceTd"> time </td> | |
<td class="confluenceTd"> Send either time-based or message-count-based. Available values are: | |
<ol> | |
<li>'time' - keep sending messages until a specific interval of time elapses.</li> | |
<li>'count' - keep sending messages until N messages has been sent.</li> | |
</ol> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.sendCount </td> | |
<td class="confluenceTd"> 1000000 msgs <br clear="all"> | |
(1 million) </td> | |
<td class="confluenceTd"> If sendType=count, send this number of messages. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> producer.sendDuration </td> | |
<td class="confluenceTd"> 300000 ms <br clear="all"> | |
(5 mins) </td> | |
<td class="confluenceTd"> If sendType=time, send messages for this number of milliseconds. </td> | |
</tr> | |
</tbody></table> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-ConfigurationforrunningaJMSConsumer"></a>Configuration for running a JMS Consumer</h3> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.sessTransacted </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> Specifies if the session created will be transacted or not. See the JMS Specifications for more details. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.sessAckMode </td> | |
<td class="confluenceTd"> autoAck </td> | |
<td class="confluenceTd"> Specified the acknowledge mode of the session. See the JMS Specifications for more details. Available values are: | |
<ol> | |
<li>'autoAck' - Session.AUTO_ACKNOWLEDGE</li> | |
<li>'clientAck' - Session.CLIENT_ACKNOWLEDGE</li> | |
<li>'dupsAck' - Session.DUPS_OK_ACKNOWLEDGE</li> | |
<li>'transacted' - Session.TRANSACTED</li> | |
</ol> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.destName </td> | |
<td class="confluenceTd"> TEST.FOO </td> | |
<td class="confluenceTd"> The prefix of the destination name to use. To specify a queue, prefix the destination name with 'queue://', for topics, prefix the destination with 'topic://'. If no prefix is specified, a topic will be created. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.destComposite </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If there are more than one destination, and destComposite=true, the destinations will be merged into one. This assumes that the provider supports composite destinations. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.durable </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, create a durable subscriber, otherwise create a message consumer. See the JMS Specifications for more details. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.asyncRecv </td> | |
<td class="confluenceTd"> true </td> | |
<td class="confluenceTd"> If true, asynchronously receive messages using the onMessage() method, otherwise use the receive() method. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.recvType </td> | |
<td class="confluenceTd"> time </td> | |
<td class="confluenceTd"> Receive either time-based or message-count-based. Available values are: | |
<ol> | |
<li>'time' - keep receiving messages until a specific time interval has elapsed.</li> | |
<li>'count' - keep receiving until N messages has been received.</li> | |
</ol> | |
</td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.recvCount </td> | |
<td class="confluenceTd"> 1000000 msgs <br clear="all"> | |
(1 million) </td> | |
<td class="confluenceTd"> If recvType=count, receive this much messages. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> consumer.recvType </td> | |
<td class="confluenceTd"> 300000 ms <br clear="all"> | |
(5 mins) </td> | |
<td class="confluenceTd"> If recvType=time, receive messages for this specific time duration. </td> | |
</tr> | |
</tbody></table> | |
<p><b>Note</b>: If you have more than one consumer receiving from multiple destinations, it is a good idea to change the sysTest.destDistro to 'equal', since by default it uses 'all' and a consumer can only receive from a single destination, hence all consumers will receive from the first destination in the list only.</p> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-ConfigurationforSPIConnectionFactory:org.apache.activemq.tool.spi.ActiveMQPojoSPI"></a>Configuration for SPI Connection Factory: org.apache.activemq.tool.spi.ActiveMQPojoSPI</h3> | |
<p><b>Description:</b> This provides details in configuring the JMS Connection Factory created by ActiveMQPojoSPI. Default values are based from the default values of the service provider org.apache.activemq.ActiveMQConnectionFactory.</p> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.brokerUrl </td> | |
<td class="confluenceTd"> tcp://localhost:61616 </td> | |
<td class="confluenceTd"> The url of the broker the client will connect to. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.username </td> | |
<td class="confluenceTd"> null </td> | |
<td class="confluenceTd"> Username on the connection to use. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.password </td> | |
<td class="confluenceTd"> null </td> | |
<td class="confluenceTd"> Password on the connection to use. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.clientID </td> | |
<td class="confluenceTd"> null </td> | |
<td class="confluenceTd"> Client ID the connection will use. If none is specified, it will be automatically generated. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.asyncSend </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, asynchronously send messages. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.asyncDispatch </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, asynchronously dispatch messages. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.asyncSession </td> | |
<td class="confluenceTd"> true </td> | |
<td class="confluenceTd"> If true, session will dispatch messages asynchronously. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.closeTimeout </td> | |
<td class="confluenceTd"> 15000 ms </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.copyMsgOnSend </td> | |
<td class="confluenceTd"> true </td> | |
<td class="confluenceTd"> If true, creates a copy of the message to be sent. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.disableTimestamp </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, disable the setting of the JMSTimestamp. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.deferObjSerial </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, defer the serialization of message objects. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.optimAck </td> | |
<td class="confluenceTd"> true </td> | |
<td class="confluenceTd"> If true, optimizes the acknowledgement of messages. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.optimDispatch </td> | |
<td class="confluenceTd"> true </td> | |
<td class="confluenceTd"> If true, optimizes the dispatching of messages. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchQueue </td> | |
<td class="confluenceTd"> 1000 messages </td> | |
<td class="confluenceTd"> Number of messages a queue consumer will cache in RAM before processing it. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchTopic </td> | |
<td class="confluenceTd"> 32766 messages </td> | |
<td class="confluenceTd"> Number of messages a topic consumer will cache in RAM before processing it. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.useCompression </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, compress message data. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.useRetroactive </td> | |
<td class="confluenceTd"> false </td> | |
<td class="confluenceTd"> If true, make consumers retroactive. </td> | |
</tr> | |
</tbody></table> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-ConfigurationforSPIConnectionFactory:org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI"></a>Configuration for SPI Connection Factory: org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI</h3> | |
<p><b>Description:</b> This provides details in configuring the JMS Connection Factory created by ActiveMQClassLoaderSPI. Default values are based from the default values of the service provider org.apache.activemq.ActiveMQConnectionFactory.</p> | |
<p>ActiveMQClassLoaderSPI loads from the classpath "org.apache.activemq.ActiveMQConnectionFactory" and configures it using reflection. Configuration is generally based on the API of the class loaded. General format is factory.YYY or factory.XXX.YYY, where the last variable (YYY) is the property to set and everything in between is the getter of the class to use to set (YYY). For example:</p> | |
<ol> | |
<li>To set the value for asyncSend in ActiveMQConnectionFactory, use:<br> | |
<tt>factory.useAsyncSend=true</tt>, which is equivalent to calling <tt>factory.setUseAsyncSend(true)</tt></li> | |
</ol> | |
<ol> | |
<li>To set the queue prefetch for ActiveMQConnectionFactory, use:<br> | |
<tt>factory.prefetchPolicy.queuePrefetch=1</tt>, which is equivalent to calling <tt>factory.getPrefetchPolicy().setQueuePrefetch(1)</tt></li> | |
</ol> | |
<p>It should be noted that the loaded class should implement the appropriate getter and setter methods. Nested objects should also be properly instantiated. For more information on configuring this SPI, refer to the specific provider API manual.</p> | |
<p>As of ActiveMQ 4.0.1, these are the available fields and default values:</p> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.optimizeDurableTopicPrefetch </td> | |
<td class="confluenceTd"> 1000 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.durableTopicPrefetch </td> | |
<td class="confluenceTd"> 100 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.password </td> | |
<td class="confluenceTd"> null </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.queueBrowserPrefetch </td> | |
<td class="confluenceTd"> 500 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.useCompression </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.disableTimeStampsByDefault </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.optimizedMessageDispatch </td> | |
<td class="confluenceTd"> true </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.useRetroactiveConsumer </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.alwaysSessionAsync </td> | |
<td class="confluenceTd"> true </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.copyMessageOnSend </td> | |
<td class="confluenceTd"> true </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.topicPrefetch </td> | |
<td class="confluenceTd"> 32766 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.useAsyncSend </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.redeliveryPolicy.backOffMultiplier </td> | |
<td class="confluenceTd"> 5 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.inputStreamPrefetch </td> | |
<td class="confluenceTd"> 100 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.closeTimeout </td> | |
<td class="confluenceTd"> 15000 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.userName </td> | |
<td class="confluenceTd"> null </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.optimizeAcknowledge </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.clientID </td> | |
<td class="confluenceTd"> null </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.objectMessageSerializationDefered </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.asyncDispatch </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.redeliveryPolicy.initialRedeliveryDelay </td> | |
<td class="confluenceTd"> 1000 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.queuePrefetch </td> | |
<td class="confluenceTd"> 1000 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.redeliveryPolicy.maximumRedeliveries </td> | |
<td class="confluenceTd"> 5 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.redeliveryPolicy.useCollisionAvoidance </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.prefetchPolicy.maximumPendingMessageLimit </td> | |
<td class="confluenceTd"> 0 </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> factory.redeliveryPolicy.useExponentialBackOff </td> | |
<td class="confluenceTd"> false </td> | |
</tr> | |
</tbody></table> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-Configurationforthethroughputsampler"></a>Configuration for the throughput sampler</h3> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> tpSampler.duration </td> | |
<td class="confluenceTd"> 300000 </td> | |
<td class="confluenceTd"> The total duration (in ms) the sampler will run, including ramp up and ramp down time. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> tpSampler.rampUpTime </td> | |
<td class="confluenceTd"> 30000 </td> | |
<td class="confluenceTd"> The ramp up time of the sampler, sampling will only start after the ramp up time. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> tpSampler.rampDownTime </td> | |
<td class="confluenceTd"> 30000 </td> | |
<td class="confluenceTd"> The ramp down time of the sampler, sampling will stop when the sampler has executed for (duration - rampUpTime - rampDownTime) ms. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> tpSampler.interval </td> | |
<td class="confluenceTd"> 1000 </td> | |
<td class="confluenceTd"> The interval (in ms), the sampler will sample for data. </td> | |
</tr> | |
</tbody></table> | |
<h3><a name="ActiveMQPerformanceModuleUsersManual-Configurationforthecpusampler"></a>Configuration for the cpu sampler</h3> | |
<table border="1" class="confluenceTable"><tbody> | |
<tr> | |
<th class="confluenceTh"> Configuration Key </th> | |
<th class="confluenceTh"> Default Value </th> | |
<th class="confluenceTh"> Description </th> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> cpuSampler.duration </td> | |
<td class="confluenceTd"> 300000 </td> | |
<td class="confluenceTd"> The total duration (in ms) the sampler will run, including ramp up and ramp down time. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> cpuSampler.rampUpTime </td> | |
<td class="confluenceTd"> 30000 </td> | |
<td class="confluenceTd"> The ramp up time of the sampler, sampling will only start after the ramp up time. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> cpuSampler.rampDownTime </td> | |
<td class="confluenceTd"> 30000 </td> | |
<td class="confluenceTd"> The ramp down time of the sampler, sampling will stop when the sampler has executed for (duration - rampUpTime - rampDownTime) ms. </td> | |
</tr> | |
<tr> | |
<td class="confluenceTd"> cpuSampler.interval </td> | |
<td class="confluenceTd"> 1000 </td> | |
<td class="confluenceTd"> The interval (in ms), the sampler will sample for data. </td> | |
</tr> | |
</tbody></table> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: activemq-xmpp/pom.xml | |
=================================================================== | |
--- activemq-xmpp/pom.xml (revision 780792) | |
+++ activemq-xmpp/pom.xml (working copy) | |
@@ -38,24 +38,24 @@ | |
<repository> | |
<id>maven2-repository.dev.java.net</id> | |
<name>Java.net Maven 2 Repository</name> | |
- <url>https://maven2-repository.dev.java.net/nonav/repository</url> | |
+ <url>http://download.java.net/maven/2</url> | |
</repository> | |
<repository> | |
<id>maven-repository.dev.java.net</id> | |
<name>Java.net Maven 1 Repository (legacy)</name> | |
- <url>https://maven-repository.dev.java.net/nonav/repository</url> | |
+ <url>http://download.java.net/maven/1</url> | |
<layout>legacy</layout> | |
</repository> | |
</repositories> | |
<pluginRepositories> | |
<pluginRepository> | |
<id>maven2-repository.dev.java.net</id> | |
- <url>https://maven2-repository.dev.java.net/nonav/repository</url> | |
+ <url>http://download.java.net/maven/2</url> | |
</pluginRepository> | |
<pluginRepository> | |
<id>maven-repository.dev.java.net</id> | |
<name>Java.net Maven 1 Repository (legacy)</name> | |
- <url>https://maven-repository.dev.java.net/nonav/repository</url> | |
+ <url>http://download.java.net/maven/1</url> | |
<layout>legacy</layout> | |
</pluginRepository> | |
</pluginRepositories> | |
Index: activemq-perftest/pom.xml | |
=================================================================== | |
--- activemq-perftest/pom.xml (revision 780792) | |
+++ activemq-perftest/pom.xml (working copy) | |
@@ -22,7 +22,7 @@ | |
<parent> | |
<artifactId>activemq-parent</artifactId> | |
<groupId>org.apache.activemq</groupId> | |
- <version>5.2-SNAPSHOT</version> | |
+ <version>5.2.0</version> | |
</parent> | |
<artifactId>activemq-perftest</artifactId> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
""" | |
This file is used to actually start the broker on the target system and have it behave. | |
""" | |
import os | |
import sys | |
import re | |
import subprocess | |
import logging | |
import optparse | |
import types | |
#from instances import aws_connect | |
logging.getLogger('boto').setLevel(logging.INFO) | |
log = logging.getLogger('activemq_stress') | |
def main(): | |
usage = "usage: %prog [options]" | |
parser = optparse.OptionParser(usage) | |
parser.add_option("-u", "--up", dest="start", | |
action="store_true", | |
default=False, | |
help="Start the broker.") | |
parser.add_option("-d", "--down", dest="stop", | |
action="store_true", | |
default=False, | |
help="Stop the broker.") | |
parser.add_option("-t", "--status", dest="status", | |
action="store_true", | |
default=False, | |
help="Display status message for the broker") | |
parser.add_option("-c", "--connection-url", dest="connection_url", | |
action="store_true", | |
default=False, | |
help="Display connection URL for clients to use all active brokers in group [activemq-broker]") | |
parser.add_option("-l", "--local", dest="local", | |
action="store_false", | |
default=True, | |
help="all operations are only executed locally, and fail if there's remote connectivity required") | |
options, args = parser.parse_args() | |
if options.start and options.stop: | |
raise Exception, 'Cannot start and stop at the same time, decide what you want' | |
if options.start: | |
start_broker(options.local) | |
elif options.stop: | |
stop_broker() | |
if options.status: | |
print_broker_status() | |
if options.connection_url: | |
if options.local: | |
raise Exception, 'online is required' | |
else: | |
conn = aws_connect() | |
reservation = conn.get_all_instances() | |
def start_broker(local=True): | |
# TODO should we block, until it's running or waiting for the master? | |
log.info('starting activemq') | |
# TODO check implicitly on running brokers and ask for restart | |
cmd = os.path.join(activemq_home, 'bin', 'activemq') | |
if os.name == 'nt': | |
cmd += '.bat' | |
if local: | |
cmd += " xbean:file:" + os.path.join(config_home, "inmemory-activemq.xml") | |
std_log = file(os.path.join(log_dir, 'activemq_std.log'), 'a') | |
err_log = file(os.path.join(log_dir, 'activemq_err.log'), 'a') | |
process = subprocess.Popen(cmd, | |
shell=True, | |
stdout=std_log, | |
stderr=err_log) | |
# output,_ = call_command("%s" % cmd) | |
def get_broker_pids(): | |
cmd = "ps aux | grep %s | grep -v grep | awk '{print $2}'" % activemq_home | |
log.debug("'%s'" % cmd) | |
process = subprocess.Popen(cmd, | |
shell=True, | |
stdout=subprocess.PIPE, | |
stderr=subprocess.PIPE) | |
output,_ = process.communicate() | |
return [int(s) for s in output.splitlines()] | |
def print_broker_status(): | |
cmd = "ps aux | grep %s | grep -v grep" % activemq_home | |
log.debug("'%s'" % cmd) | |
process = subprocess.Popen(cmd, | |
shell=True) | |
def stop_broker(pids=None): | |
# if called without argument, go on a killing spree!! | |
if not pids: | |
pids = get_broker_pids() | |
if type(pids) is types.ListType: | |
for pid in pids: | |
stop_broker(pid) # recursive | |
else: | |
log.info('[pid: %s] killing activemq' % pids) | |
log.debug("%s [%s]" % (pids, type(pids))) | |
os.kill(pids, 15) # 15 is SIG TERM, see man kill for numbers | |
def call_command(command): | |
log.warning("'%s'" % command) | |
#return (None, None) | |
if False: | |
process = subprocess.Popen(command, | |
shell=True, | |
stdout=subprocess.PIPE, | |
stderr=subprocess.PIPE) | |
process = subprocess.Popen(command, shell=True) | |
log.warning("'%s'" % command) | |
return (None, None) | |
return process.wait() | |
def setup_dir_from_env(var_name, default=None, create_if_absent=False): | |
var = os.getenv(var_name) | |
if not var: | |
if default: | |
log.warn("%s wasn't defined in the environment" % var_name) | |
var = os.path.expanduser(default) | |
else: | |
raise Exception, "%s not defined, and no default defined either" % var_name | |
# check if it's a decent path | |
if not os.path.exists(var): | |
if create_if_absent: | |
os.makedirs(var) | |
return var | |
else: | |
raise Exception, "%s is defined as %s which is not a directory" % (var_name, var) | |
if not os.path.isdir(var): | |
raise Exception, "%s is defined as %s which is not a directory" % (var_name, var) | |
# if not os.path.isreadable(var): | |
# raise Exception, "%s is defined as %s is not readable" % (var_name, var) | |
# if not os.path.iswriteable(var): | |
# raise Exception, "%s is defined as %s is not writeable" % (var_name, var) | |
return var | |
activemq_home = setup_dir_from_env('ACTIVEMQ_HOME', | |
default='~/apache-activemq-5.2.0') | |
log_dir = setup_dir_from_env('STRESS_LOG_DIR', | |
default='~/test-logs', | |
create_if_absent=True) | |
script_path = os.path.join(sys.path[0], __name__.replace(".", "/")) # dir of the current executing script | |
script_home = os.path.dirname(script_path) | |
config_home = os.path.join(script_home, 'configs') | |
if __name__ == "__main__": | |
main() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- START SNIPPET: xbean --> | |
<beans xmlns="http://activemq.apache.org/schema/core"> | |
<broker useJmx="false" brokerName="defaultBroker" start="false" persistent="true" useShutdownHook="false" deleteAllMessagesOnStartup="true"> | |
<persistenceAdapter> | |
<journaledJDBC journalLogFiles="4" journalLogFileSize="32768" useJournal="true" useQuickJournal="false" dataSource="#derby-ds" dataDirectory="target/defaultBroker-data"/> | |
</persistenceAdapter> | |
<transportConnectors> | |
<transportConnector name="default" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
</broker> | |
<!-- This xbean configuration file supports all the standard spring xml configuration options --> | |
<!-- Postgres DataSource Sample Setup --> | |
<!-- | |
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource"> | |
<property name="serverName" value="localhost"/> | |
<property name="databaseName" value="activemq"/> | |
<property name="portNumber" value="0"/> | |
<property name="user" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="dataSourceName" value="postgres"/> | |
<property name="initialConnections" value="1"/> | |
<property name="maxConnections" value="10"/> | |
</bean> | |
--> | |
<!-- MySql DataSource Sample Setup --> | |
<!-- | |
<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> | |
<property name="driverClassName" value="com.mysql.jdbc.Driver"/> | |
<property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/> | |
<property name="username" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="poolPreparedStatements" value="true"/> | |
</bean> | |
--> | |
<!-- Embedded Derby DataSource Sample Setup --> | |
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> | |
<property name="databaseName" value="derbydb"/> | |
<property name="createDatabase" value="create"/> | |
</bean> | |
</beans> | |
<!-- END SNIPPET: xbean --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<beans | |
xmlns="http://www.springframework.org/schema/beans" | |
xmlns:amq="http://activemq.apache.org/schema/core" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd | |
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd | |
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> | |
<!-- Allows us to use system properties as variables in this configuration file --> | |
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | |
<property name="locations"> | |
<value>file:///${activemq.base}/conf/credentials.properties</value> | |
</property> | |
</bean> | |
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost"> | |
<!-- Use the following to configure how ActiveMQ is exposed in JMX --> | |
<managementContext> | |
<managementContext createConnector="false"/> | |
</managementContext> | |
<persistenceAdapter> | |
<jdbcPersistenceAdapter dataSource="#mssql-jtds-ds" adapter="#sqlserver-adapter"/> | |
</persistenceAdapter> | |
<!-- The maximum about of space the broker will use before slowing down producers --> | |
<systemUsage> | |
<systemUsage> | |
<memoryUsage> | |
<memoryUsage limit="200 mb"/> | |
</memoryUsage> | |
<tempUsage> | |
<tempUsage limit="500 mb"/> | |
</tempUsage> | |
</systemUsage> | |
</systemUsage> | |
<transportConnectors> | |
<transportConnector name="openwire" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
<!-- Ignored | |
<plugins> | |
<jaasAuthenticationPlugin configuration="activemq-domain" /> | |
</plugins> | |
--> | |
</broker> | |
<!-- Uncomment to create a command agent to respond to | |
message based admin commands on the ActiveMQ.Agent topic --> | |
<!-- | |
<commandAgent xmlns="http://activemq.apache.org/schema/core" brokerUrl="vm://localhost" username="${activemq.username}" password="${activemq.password}"/> | |
--> | |
<!-- An embedded servlet engine for serving up the Admin console --> | |
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> | |
<connectors> | |
<nioConnector port="8161"/> | |
</connectors> | |
<handlers> | |
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/> | |
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/> | |
<webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/> | |
</handlers> | |
</jetty> | |
<!-- This xbean configuration file supports all the standard spring xml configuration options --> | |
<!-- Postgres DataSource Sample Setup --> | |
<!-- | |
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource"> | |
<property name="serverName" value="localhost"/> | |
<property name="databaseName" value="activemq"/> | |
<property name="portNumber" value="0"/> | |
<property name="user" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="dataSourceName" value="postgres"/> | |
<property name="initialConnections" value="1"/> | |
<property name="maxConnections" value="10"/> | |
</bean> | |
--> | |
<!-- JTDS (DBCP) DataSource Sample Setup --> | |
<bean id="mssql-jtds-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> | |
<property name="driverClassName" value="net.sourceforge.jtds.jdbcx.JtdsDataSource"/> | |
<property name="url" value="jdbc:jtds:sqlserver://HOST:1433;DatabaseName=ACTIVEMQ"/> | |
<property name="username" value="USERNAME"/> | |
<property name="password" value="PASSWORD"/> | |
<property name="poolPreparedStatements" value="false"/> | |
<property name="maxWait" value="20"/> | |
<property name="maxIdle" value="10"/> | |
<property name="maxActive" value="20"/> | |
<property name="validationQuery" value="select cast('10' as integer)"/> | |
<property name="testOnBorrow" value="false"/> | |
<property name="defaultAutoCommit" value="false"/> | |
</bean> | |
<bean id="sqlserver-adapter" class="ch.bedag.ste.opensource.activemq.jdbc.adapter.SqlServerJDBCAdapter"/> | |
<bean id="ds-exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> | |
<property name="beans"> | |
<map> | |
<entry key="DataSource:name=mssql" value-ref="mssql-jtds-ds"/> | |
</map> | |
</property> | |
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/> | |
<property name="assembler"> | |
<bean class="org.springframework.jmx.export.assembler.MethodNameBasedMBeanInfoAssembler"> | |
<property name="managedMethods"> | |
<value>getDriverClassName,getDefaultAutoCommit,getLogAbandoned,setLogAbandoned,getMaxActive,getMaxIdle,getMaxOpenPreparedStatements,getMaxWait,getMinIdle,getNumActive,getNumIdle,isPoolPreparedStatements,getUrl,getUsername,getValidationQuery,getTestOnBorrow,getTestOnReturn,getTestWhileIdle</value> | |
</property> | |
</bean> | |
</property> | |
</bean> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Preparation script for the image. There are manual elements in this script | |
# * the installation of java requires accepting the license | |
# * the installation of hyperic requires setting the ip of the hyperic server | |
# | |
# Need to manually accept the license | |
sudo apt-get install -y sun-java6-jdk | |
sudo apt-get install -y ant ant-optional | |
mkdir downloads | |
cd downloads | |
# download everything that's necessary | |
wget http://mirror.cloudera.com/apache/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz | |
wget http://internap.dl.sourceforge.net/sourceforge/hyperic-hq/hyperic-hq-installer-4.1.2-1053-x86-linux.tgz | |
#wget http://internap.dl.sourceforge.net/sourceforge/hyperic-hq/hyperic-hq-agent-4.1.2-1053-noJRE.tgz | |
wget http://www.bizdirusa.com/mirrors/apache/maven/binaries/apache-maven-2.1.0-bin.tar.bz2 | |
wget https://m2proxy.atlassian.com/repository/public/net/sourceforge/jtds/jtds/1.2.2/jtds-1.2.2.jar | |
cd | |
# unpack the downloads | |
tar -xzvf downloads/apache-activemq-5.2.0-bin.tar.gz | |
tar -xzvf downloads/hyperic-hq-installer-4.1.2-1053-x86-linux.tgz | |
#tar -xzvf downloads/hyperic-hq-agent-4.1.2-1053-noJRE.tgz | |
tar -xjvf downloads/apache-maven-2.1.0-bin.tar.bz2 | |
# installing hyperic | |
sudo adduser --system hyperic | |
sudo -u hyperic hyperic-hq-installer/setup.sh | |
sudo hyperic-hq-installer/installer-4.1.2/data/hqdb/tune-os.sh | |
IP="$(dig $(hostname) '+short')" | |
sudo sed -i -e "s/#agent.setup.camPort=\(.*\)/agent.setup.camPort=\1/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
sudo sed -i -e "s/#agent.setup.camSSLPort=\(.*\)/agent.setup.camSSLPort=\1/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
sudo sed -i -e "s/#agent.setup.camSecure=\(.*\)/agent.setup.camSecure=no/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
sudo sed -i -e "s/#agent.setup.camLogin=\(.*\)/agent.setup.camLogin=\1/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
sudo sed -i -e "s/#agent.setup.camPword=\(.*\)/agent.setup.camPword=\1/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
sudo sed -i -e "s/#agent.setup.agentIP=\(.*\)/agent.setup.agentIP=$IP/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
sudo sed -i -e "s/#agent.setup.agentPort=\(.*\)/agent.setup.agentPort=2144/g" /home/hyperic/agent-4.1.2/conf/agent.properties | |
#agent.setup.agentIP | |
# later - starting hyperic (asks for hyperic server IP) | |
# sudo -u hyperic /home/hyperic/agent-4.1.2/bin/hq-agent.sh start | |
# | |
# Prepare Java/Maven execution | |
# | |
export JAVA_HOME=/usr/lib/jvm/java-6-sun | |
export M2_HOME=~/apache-maven-2.1.0 | |
export M2=$M2_HOME/bin | |
export PATH=$PATH:$M2 | |
export MAVEN_OPTS=-Xmx512M | |
# | |
# Checkout & Build ActiveMQ | |
# | |
mkdir -p source/svn; cd source/svn | |
svn co https://svn.apache.org/repos/asf/activemq/tags/activemq-5.2.0 activemq-5.2.0 | |
cd activemq-5.2.0 | |
patch -p0 -i ~/conf/various/activemq.patch | |
mvn -Dtest=false -DfailIfNoTests=false clean install | |
# build maven-perf-test-plugin (and the rest of tooling) | |
cd activemq-tooling | |
mvn clean install | |
cd .. | |
mvn clean | |
cd | |
# Install jstatd | |
# http://java.sun.com/javase/6/docs/technotes/tools/share/jstatd.html | |
cat <<'EOF' | tee ~.java.policy > /dev/null | |
grant codebase "file:${java.home}/../lib/tools.jar" { | |
permission java.security.AllPermission; | |
}; | |
EOF | |
# additional deps into maven2 repo | |
# curl timkay.com/aws/aws -o aws; perl aws --install | |
# sudo port install tuntaposx | |
# sudo launchctl load -w /Library/LaunchDaemons/org.macports.tuntaposx.plist |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
""" | |
This script can help in building an ami. It has parts which are invoked on the development machine | |
(later on referred as the AWS monitor). Other parts can be invoked directly on the target machine. | |
""" | |
import os | |
import sys | |
import re | |
import subprocess | |
import logging | |
import optparse | |
import types | |
aws_monitor_path = os.path.join(os.path.expanduser("~"), ".aws_monitor") | |
is_monitor = os.path.exists(aws_monitor_path) | |
aws_monitor = | |
if is_monitor(yaml): | |
yaml.load(aws_monitor) | |
logging.getLogger('boto').setLevel(logging.INFO) | |
log = logging.getLogger('activemq_stress') | |
def main(): | |
usage = "usage: %prog [options]" | |
parser = optparse.OptionParser(usage) | |
parser.add_option("-u", "--up", dest="start", | |
action="store_true", | |
default=False, | |
help="Start the broker.") | |
parser.add_option("-d", "--down", dest="stop", | |
action="store_true", | |
default=False, | |
help="Stop the broker.") | |
parser.add_option("-t", "--status", dest="status", | |
action="store_true", | |
default=False, | |
help="Display status message for the broker") | |
parser.add_option("-c", "--connection-url", dest="connection_url", | |
action="store_true", | |
default=False, | |
help="Display connection URL for clients to use all active brokers in group [activemq-broker]") | |
parser.add_option("-l", "--local", dest="local", | |
action="store_false", | |
default=True, | |
help="all operations are only executed locally, and fail if there's remote connectivity required") | |
if is_monitor: | |
print "Running as Monitor" | |
else: | |
print "Running on a AWS host" | |
options, args = parser.parse_args() | |
if options.start and options.stop: | |
raise Exception, 'Cannot start and stop at the same time, decide what you want' | |
if options.start: | |
start_broker(options.local) | |
elif options.stop: | |
stop_broker() | |
if options.status: | |
print_broker_status() | |
if options.connection_url: | |
if options.local: | |
raise Exception, 'online is required' | |
else: | |
conn = aws_connect() | |
reservation = conn.get_all_instances() | |
def assertMonitor(): | |
if not is_monitor: | |
raise Exception "This command can only be executed when running as Monitor (development machine)" | |
def assertInstance(): | |
if is_monitor: | |
raise Exception "This command can only be executed when running as Instance (on AWS machine)" | |
def send_keys(instance_address): | |
"Can be used send the keys from the local machine to the remote instance" | |
assertMonitor() | |
# TODO should we block, until it's running or waiting for the master? | |
cmd = "scp -i %s ubuntu@%s:/mnt/" % (aws_monitor.ami_key, | |
aws_monitor.username, | |
instance_address) | |
log.info("executing '%s'" % cmd) | |
# TODO fix the input output stream (here we are executing blocking) | |
std_log = file(os.path.join(log_dir, 'activemq_std.log'), 'a') | |
err_log = file(os.path.join(log_dir, 'activemq_err.log'), 'a') | |
process = subprocess.Popen(cmd, | |
shell=True, | |
stdout=std_log, | |
stderr=err_log) | |
# output,_ = call_command("%s" % cmd) | |
def move_certs_to_mnt(): | |
"""If we don't have the necessary rights to copy the certs directly to mnt, | |
then this function moves them out of the home directory and into the mnt | |
(with sudo)""" | |
cmd = "sudo mv *.pem /mnt/" | |
subprocess.Popen(cmd) | |
def execute_bundle_vol(): | |
cmd = "ec2-bundle-vol -d /mnt -k /mnt/%s -c /mnt/%s -u %s -r %s -p %s" % (key, | |
cert, | |
account_id, | |
platform, | |
ami_name) | |
def upload_bundle(): | |
cmd = "ec2-upload-bundle -b %s -m /mnt/%s.manifest.xml -a %s -s %s " % (bucket, | |
ami_name, | |
access_key, | |
access_secret) | |
def register_ami(): | |
cmd = "ec2-register %s/%s.manifest.xml" % (bucket, | |
ami_name) | |
def call_command(command): | |
log.warning("'%s'" % command) | |
if False: | |
process = subprocess.Popen(command, | |
shell=True, | |
stdout=subprocess.PIPE, | |
stderr=subprocess.PIPE) | |
process = subprocess.Popen(command, shell=True) | |
log.warning("'%s'" % command) | |
return (None, None) | |
return process.wait() | |
if __name__ == "__main__": | |
main() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=false | |
consumer.asyncRecv=true | |
consumer.destName=queue://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=true | |
consumer.asyncRecv=true | |
consumer.destName=topic://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=false | |
consumer.asyncRecv=true | |
consumer.destName=topic://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=false | |
consumer.asyncRecv=true | |
consumer.destName=queue://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=true | |
consumer.asyncRecv=true | |
consumer.destName=topic://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=false | |
consumer.asyncRecv=true | |
consumer.destName=topic://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=false | |
consumer.asyncRecv=true | |
consumer.destName=queue://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=true | |
consumer.asyncRecv=true | |
consumer.destName=topic://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=equal | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
consumer.durable=false | |
consumer.asyncRecv=true | |
consumer.destName=topic://TEST.FOO | |
consumer.sessTransacted=false | |
consumer.sessAckMode=autoAck | |
consumer.destComposite=false | |
consumer.unsubscribe=true | |
# 5 mins receive duration | |
consumer.recvType=time | |
consumer.recvDuration=300000 | |
# 1 million messages receive | |
# consumer.recvType=count | |
# consumer.recvCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=nonpersistent | |
producer.messageSize=1024 | |
producer.destName=queue://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=persistent | |
producer.messageSize=1024 | |
producer.destName=queue://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=nonpersistent | |
producer.messageSize=1024 | |
producer.destName=topic://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=1 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=persistent | |
producer.messageSize=1024 | |
producer.destName=topic://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=nonpersistent | |
producer.messageSize=1024 | |
producer.destName=queue://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=persistent | |
producer.messageSize=1024 | |
producer.destName=queue://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=nonpersistent | |
producer.messageSize=1024 | |
producer.destName=topic://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=1 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=persistent | |
producer.messageSize=1024 | |
producer.destName=topic://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=nonpersistent | |
producer.messageSize=1024 | |
producer.destName=queue://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=persistent | |
producer.messageSize=1024 | |
producer.destName=queue://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=nonpersistent | |
producer.messageSize=1024 | |
producer.destName=topic://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## --------------------------------------------------------------------------- | |
## Licensed to the Apache Software Foundation (ASF) under one or more | |
## contributor license agreements. See the NOTICE file distributed with | |
## this work for additional information regarding copyright ownership. | |
## The ASF licenses this file to You under the Apache License, Version 2.0 | |
## (the "License"); you may not use this file except in compliance with | |
## the License. You may obtain a copy of the License at | |
## | |
## http://www.apache.org/licenses/LICENSE-2.0 | |
## | |
## Unless required by applicable law or agreed to in writing, software | |
## distributed under the License is distributed on an "AS IS" BASIS, | |
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
## See the License for the specific language governing permissions and | |
## limitations under the License. | |
## --------------------------------------------------------------------------- | |
# Consumer System Settings | |
sysTest.spiClass=org.apache.activemq.tool.spi.ActiveMQReflectionSPI | |
sysTest.reportType=xml | |
sysTest.destDistro=all | |
sysTest.samplers=tp | |
sysTest.numClients=10 | |
sysTest.totalDests=10 | |
sysTest.reportDir=./ | |
# Consumer Client Settings | |
producer.deliveryMode=persistent | |
producer.messageSize=1024 | |
producer.destName=topic://TEST.FOO | |
producer.sessTransacted=false | |
producer.sessAckMode=autoAck | |
producer.createNewMsg=false | |
producer.destComposite=false | |
# 5 mins send duration | |
producer.sendType=time | |
producer.sendDuration=300000 | |
# 1 million messages send | |
# producer.sendType=count | |
# producer.sendCount=1000000 | |
# Throughput Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
tpSampler.duration=300000 | |
tpSampler.rampUpTime=60000 | |
tpSampler.rampDownTime=60000 | |
tpSampler.interval=1000 | |
# CPU Sampler Settings | |
# 5 mins sampling duration | |
# 1 min ramp up and ramp down time | |
# 1 sec sampling interval | |
# cpuSampler.duration=300000 | |
# cpuSampler.rampUpTime=60000 | |
# cpuSampler.rampDownTime=60000 | |
# cpuSampler.interval=1000 | |
# AMQ Connection Factory Settings | |
# Use default settings | |
# factory.brokerURL=tcp://localhost:61616 | |
# factory.useAsyncSend=false | |
# factory.asyncDispatch=false | |
# factory.alwaysSessionAsync=true | |
# factory.useCompression=false | |
# factory.optimizeAcknowledge=false | |
# factory.objectMessageSerializationDefered=false | |
# factory.disableTimeStampsByDefault=false | |
# factory.optimizedMessageDispatch=true | |
# factory.useRetroactiveConsumer=false | |
# factory.copyMessageOnSend=true | |
# factory.closeTimeout=15000 | |
# factory.userName=null | |
# factory.clientID=null | |
# factory.password=null | |
# factory.prefetchPolicy.durableTopicPrefetch=100 | |
# factory.prefetchPolicy.topicPrefetch=32766 | |
# factory.prefetchPolicy.queueBrowserPrefetch=500 | |
# factory.prefetchPolicy.queuePrefetch=1000 | |
# factory.prefetchPolicy.inputStreamPrefetch=100 | |
# factory.prefetchPolicy.maximumPendingMessageLimit=0 | |
# factory.prefetchPolicy.optimizeDurableTopicPrefetch=1000 | |
# factory.redeliveryPolicy.initialRedeliveryDelay=1000 | |
# factory.redeliveryPolicy.maximumRedeliveries=5 | |
# factory.redeliveryPolicy.useCollisionAvoidance=false | |
# factory.redeliveryPolicy.useExponentialBackOff=false | |
# factory.redeliveryPolicy.collisionAvoidancePercent=15 | |
# factory.redeliveryPolicy.backOffMultiplier=5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<beans | |
xmlns="http://www.springframework.org/schema/beans" | |
xmlns:amq="http://activemq.apache.org/schema/core" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd | |
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd | |
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> | |
<!-- Allows us to use system properties as variables in this configuration file --> | |
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | |
<property name="locations"> | |
<value>file:///${activemq.base}/conf/credentials.properties</value> | |
</property> | |
</bean> | |
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost"> | |
<!-- Use the following to configure how ActiveMQ is exposed in JMX --> | |
<managementContext> | |
<managementContext createConnector="false"/> | |
</managementContext> | |
<persistenceAdapter> | |
<jdbcPersistenceAdapter dataSource="#mssql-jtds-ds" adapter="#sqlserver-adapter"/> | |
</persistenceAdapter> | |
<!-- The maximum about of space the broker will use before slowing down producers --> | |
<systemUsage> | |
<systemUsage> | |
<memoryUsage> | |
<memoryUsage limit="200 mb"/> | |
</memoryUsage> | |
<tempUsage> | |
<tempUsage limit="500 mb"/> | |
</tempUsage> | |
</systemUsage> | |
</systemUsage> | |
<transportConnectors> | |
<transportConnector name="openwire" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
<!-- Ignored | |
<plugins> | |
<jaasAuthenticationPlugin configuration="activemq-domain" /> | |
</plugins> | |
--> | |
</broker> | |
<!-- Uncomment to create a command agent to respond to | |
message based admin commands on the ActiveMQ.Agent topic --> | |
<!-- | |
<commandAgent xmlns="http://activemq.apache.org/schema/core" brokerUrl="vm://localhost" username="${activemq.username}" password="${activemq.password}"/> | |
--> | |
<!-- An embedded servlet engine for serving up the Admin console --> | |
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> | |
<connectors> | |
<nioConnector port="8161"/> | |
</connectors> | |
<handlers> | |
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/> | |
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/> | |
<webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/> | |
</handlers> | |
</jetty> | |
<!-- This xbean configuration file supports all the standard spring xml configuration options --> | |
<!-- Postgres DataSource Sample Setup --> | |
<!-- | |
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource"> | |
<property name="serverName" value="localhost"/> | |
<property name="databaseName" value="activemq"/> | |
<property name="portNumber" value="0"/> | |
<property name="user" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="dataSourceName" value="postgres"/> | |
<property name="initialConnections" value="1"/> | |
<property name="maxConnections" value="10"/> | |
</bean> | |
--> | |
<!-- JTDS (DBCP) DataSource Sample Setup --> | |
<bean id="mssql-jtds-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> | |
<property name="driverClassName" value="net.sourceforge.jtds.jdbcx.JtdsDataSource"/> | |
<property name="url" value="jdbc:jtds:sqlserver://HOST:1433;DatabaseName=ACTIVEMQ"/> | |
<property name="username" value="USERNAME"/> | |
<property name="password" value="PASSWORD"/> | |
<property name="poolPreparedStatements" value="false"/> | |
<property name="maxWait" value="20"/> | |
<property name="maxIdle" value="10"/> | |
<property name="maxActive" value="20"/> | |
<property name="validationQuery" value="select cast('10' as integer)"/> | |
<property name="testOnBorrow" value="false"/> | |
<property name="defaultAutoCommit" value="false"/> | |
</bean> | |
<bean id="sqlserver-adapter" class="ch.bedag.ste.opensource.activemq.jdbc.adapter.SqlServerJDBCAdapter"/> | |
<bean id="ds-exporter" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> | |
<property name="beans"> | |
<map> | |
<entry key="DataSource:name=mssql" value-ref="mssql-jtds-ds"/> | |
</map> | |
</property> | |
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/> | |
<property name="assembler"> | |
<bean class="org.springframework.jmx.export.assembler.MethodNameBasedMBeanInfoAssembler"> | |
<property name="managedMethods"> | |
<value>getDriverClassName,getDefaultAutoCommit,getLogAbandoned,setLogAbandoned,getMaxActive,getMaxIdle,getMaxOpenPreparedStatements,getMaxWait,getMinIdle,getNumActive,getNumIdle,isPoolPreparedStatements,getUrl,getUsername,getValidationQuery,getTestOnBorrow,getTestOnReturn,getTestWhileIdle</value> | |
</property> | |
</bean> | |
</property> | |
</bean> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################## | |
# | |
# Copyright (c) 2006 Zope Corporation and Contributors. | |
# All Rights Reserved. | |
# | |
# This software is subject to the provisions of the Zope Public License, | |
# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. | |
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED | |
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | |
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS | |
# FOR A PARTICULAR PURPOSE. | |
# | |
############################################################################## | |
"""Bootstrap a buildout-based project | |
Simply run this script in a directory containing a buildout.cfg. | |
The script accepts buildout command-line options, so you can | |
use the -c option to specify an alternate configuration file. | |
$Id$ | |
""" | |
import os, shutil, sys, tempfile, urllib2 | |
tmpeggs = tempfile.mkdtemp() | |
is_jython = sys.platform.startswith('java') | |
try: | |
import pkg_resources | |
except ImportError: | |
ez = {} | |
exec urllib2.urlopen('http://peak.telecommunity.com/dist/ez_setup.py' | |
).read() in ez | |
ez['use_setuptools'](to_dir=tmpeggs, download_delay=0) | |
import pkg_resources | |
if sys.platform == 'win32': | |
def quote(c): | |
if ' ' in c: | |
return '"%s"' % c # work around spawn lamosity on windows | |
else: | |
return c | |
else: | |
def quote (c): | |
return c | |
cmd = 'from setuptools.command.easy_install import main; main()' | |
ws = pkg_resources.working_set | |
if len(sys.argv) > 2 and sys.argv[1] == '--version': | |
VERSION = ' == %s' % sys.argv[2] | |
args = sys.argv[3:] + ['bootstrap'] | |
else: | |
VERSION = '' | |
args = sys.argv[1:] + ['bootstrap'] | |
if is_jython: | |
import subprocess | |
assert subprocess.Popen([sys.executable] + ['-c', quote(cmd), '-mqNxd', | |
quote(tmpeggs), 'zc.buildout' + VERSION], | |
env=dict(os.environ, | |
PYTHONPATH= | |
ws.find(pkg_resources.Requirement.parse('setuptools')).location | |
), | |
).wait() == 0 | |
else: | |
assert os.spawnle( | |
os.P_WAIT, sys.executable, quote (sys.executable), | |
'-c', quote (cmd), '-mqNxd', quote (tmpeggs), 'zc.buildout' + VERSION, | |
dict(os.environ, | |
PYTHONPATH= | |
ws.find(pkg_resources.Requirement.parse('setuptools')).location | |
), | |
) == 0 | |
ws.add_entry(tmpeggs) | |
ws.require('zc.buildout' + VERSION) | |
import zc.buildout.buildout | |
zc.buildout.buildout.main(args) | |
shutil.rmtree(tmpeggs) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<beans | |
xmlns="http://www.springframework.org/schema/beans" | |
xmlns:amq="http://activemq.apache.org/schema/core" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd | |
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd | |
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> | |
<!-- Allows us to use system properties as variables in this configuration file --> | |
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | |
<property name="locations"> | |
<value>file:///${activemq.base}/conf/credentials.properties</value> | |
</property> | |
</bean> | |
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker-a" dataDirectory="${activemq.base}/data"> | |
<!-- Use the following to configure how ActiveMQ is exposed in JMX --> | |
<managementContext> | |
<managementContext createConnector="false"/> | |
</managementContext> | |
<!-- The store and forward broker networks ActiveMQ will listen to --> | |
<networkConnectors> | |
<!-- by default just auto discover the other brokers | |
<networkConnector name="default-nc" uri="multicast://default"/> | |
--> | |
<!-- Example of a static configuration: | |
<networkConnector name="host1 and host2" uri="static://(tcp://host1:61616,tcp://host2:61616)"/> | |
--> | |
</networkConnectors> | |
<persistenceAdapter> | |
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="20 mb"/> | |
</persistenceAdapter> | |
<!-- The maximum about of space the broker will use before slowing down producers --> | |
<systemUsage> | |
<systemUsage> | |
<memoryUsage> | |
<memoryUsage limit="200 mb"/> | |
</memoryUsage> | |
<storeUsage> | |
<storeUsage limit="1 gb" name="foo"/> | |
</storeUsage> | |
<tempUsage> | |
<tempUsage limit="500 mb"/> | |
</tempUsage> | |
</systemUsage> | |
</systemUsage> | |
<!-- The transport connectors ActiveMQ will listen to --> | |
<transportConnectors> | |
<transportConnector name="openwire" uri="tcp://localhost:61617" discoveryUri="multicast://default"/> | |
</transportConnectors> | |
</broker> | |
<!-- An embedded servlet engine for serving up the Admin console --> | |
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> | |
<connectors> | |
<nioConnector port="8162"/> | |
</connectors> | |
<handlers> | |
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/> | |
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/> | |
<webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/> | |
</handlers> | |
</jetty> | |
<!-- Embedded Derby DataSource Sample Setup --> | |
<!-- | |
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> | |
<property name="databaseName" value="derbydb"/> | |
<property name="createDatabase" value="create"/> | |
</bean> | |
--> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<beans | |
xmlns="http://www.springframework.org/schema/beans" | |
xmlns:amq="http://activemq.apache.org/schema/core" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd | |
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd | |
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> | |
<!-- Allows us to use system properties as variables in this configuration file --> | |
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | |
<property name="locations"> | |
<value>file:///${activemq.base}/conf/credentials.properties</value> | |
</property> | |
</bean> | |
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker-a" dataDirectory="${activemq.base}/data"> | |
<!-- Use the following to configure how ActiveMQ is exposed in JMX --> | |
<managementContext> | |
<managementContext createConnector="false"/> | |
</managementContext> | |
<!-- The store and forward broker networks ActiveMQ will listen to --> | |
<networkConnectors> | |
<!-- by default just auto discover the other brokers | |
<networkConnector name="default-nc" uri="multicast://default"/> | |
--> | |
<!-- Example of a static configuration: | |
<networkConnector name="host1 and host2" uri="static://(tcp://host1:61616,tcp://host2:61616)"/> | |
--> | |
</networkConnectors> | |
<persistenceAdapter> | |
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="20 mb"/> | |
</persistenceAdapter> | |
<!-- The maximum about of space the broker will use before slowing down producers --> | |
<systemUsage> | |
<systemUsage> | |
<memoryUsage> | |
<memoryUsage limit="200 mb"/> | |
</memoryUsage> | |
<storeUsage> | |
<storeUsage limit="1 gb" name="foo"/> | |
</storeUsage> | |
<tempUsage> | |
<tempUsage limit="500 mb"/> | |
</tempUsage> | |
</systemUsage> | |
</systemUsage> | |
<!-- The transport connectors ActiveMQ will listen to --> | |
<transportConnectors> | |
<transportConnector name="openwire" uri="tcp://localhost:61618" discoveryUri="multicast://default"/> | |
</transportConnectors> | |
</broker> | |
<!-- An embedded servlet engine for serving up the Admin console --> | |
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> | |
<connectors> | |
<nioConnector port="8163"/> | |
</connectors> | |
<handlers> | |
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/> | |
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/> | |
<webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/> | |
</handlers> | |
</jetty> | |
<!-- Embedded Derby DataSource Sample Setup --> | |
<!-- | |
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> | |
<property name="databaseName" value="derbydb"/> | |
<property name="createDatabase" value="create"/> | |
</bean> | |
--> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[config] | |
mypkgs = shellpack | |
[buildout] | |
develop = . | |
parts = python scripts test | |
[python] | |
recipe = zc.recipe.egg | |
interpreter = pyshell | |
eggs = ${config:mypkgs} | |
[scripts] | |
recipe = zc.recipe.egg:scripts | |
eggs = ${config:mypkgs} | |
[test] | |
recipe = zc.recipe.testrunner | |
eggs = ${config:mypkgs} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
ec2din --xml | \ | |
xmlstarlet sel -t \ | |
-m "//reservationSet/item" \ | |
-i "groupSet/item/groupId[string()='$GROUP_NAME']" \ | |
-m "instancesSet/item" \ | |
-i "instanceState/name[string()='running']" \ | |
-v "instanceId" -n | \ | |
sed \ # -> http://www.grymoire.com/Unix/Sed.html#toc-uh-30 | |
-e 's/#.*//' \ # remove every character from the "#" to the end of the line | |
-e 's/[ ^I]*$//' \ # delete all blank lines | |
-e '/^$/ d' # remove all blanks and tabs immediately before the end of line | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# find broken symlinks | |
# | |
# | |
# http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/fto.html | |
# | |
set -o errexit # Exit when simple command fails. | |
set -o nounset # Trigger error when expanding unset variables. | |
find $1 -type l -print0 | \ | |
xargs -r0 file | \ | |
grep "broken symbolic" | \ | |
sed -e 's/^\|: *broken symbolic.*$/"/g' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# look for all the files in a directory, and examine the first line | |
# of each for a shebang ("#!") | |
# | |
# Aspects | |
# - recursiv | |
# - stdout from head is piped into grep, and grep is silent (-q). (only the status from grep is used) | |
# - the filename is echoed for your "convenience" ;) (ie: not necessary!) | |
# - check for files owned by $USER | |
# - | |
# | |
# | |
# | |
# | |
# http://www.linuxquestions.org/questions/linux-general-1/bash-script-to-find-files-with-shebang-and-then-chmod-686031/ | |
# | |
set -o errexit # Exit when simple command fails. | |
set -o nounset # Trigger error when expanding unset variables. | |
find dir/ -user $UID -type f | while read fn; do head -n1 "$fn" | grep -q "^#\!" && echo "$fn" && chmod 755 "$fn"; done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
sudo apt-get update; sudo apt-get -y upgrade | |
sudo apt-get -y install git-core subversion ruby irb gem | |
# get our code and install it | |
git clone git://gist.github.com/121977.git conf; conf/install.sh | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class DotLookup(object): | |
def __init__(self, obj): | |
self.obj = obj | |
def __getitem__(self, key): | |
return DotLookup(self.obj[key]) | |
def __getattr__(self, key): | |
return self[key] | |
def get(self, key, default=None): | |
try: | |
return self[key] | |
except (KeyError, IndexError): | |
return default | |
def __call__(self): | |
return self.obj |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<beans | |
xmlns="http://www.springframework.org/schema/beans" | |
xmlns:amq="http://activemq.apache.org/schema/core" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd | |
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd | |
http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd"> | |
<!-- Allows us to use system properties as variables in this configuration file --> | |
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> | |
<property name="locations"> | |
<value>file:///${activemq.base}/conf/credentials.properties</value> | |
</property> | |
</bean> | |
<broker xmlns="http://activemq.apache.org/schema/core" brokerName="broker-a" dataDirectory="${activemq.base}/data"> | |
<!-- Use the following to configure how ActiveMQ is exposed in JMX --> | |
<managementContext> | |
<managementContext createConnector="true" | |
rmiServerPort="1199"/> | |
</managementContext> | |
<!-- The store and forward broker networks ActiveMQ will listen to --> | |
<networkConnectors> | |
<!-- by default just auto discover the other brokers | |
<networkConnector name="default-nc" uri="multicast://default"/> | |
--> | |
<!-- Example of a static configuration: | |
<networkConnector name="host1 and host2" uri="static://(tcp://host1:61616,tcp://host2:61616)"/> | |
--> | |
</networkConnectors> | |
<persistenceAdapter> | |
<amqPersistenceAdapter syncOnWrite="false" directory="${activemq.base}/data" maxFileLength="20 mb"/> | |
</persistenceAdapter> | |
<!-- The maximum about of space the broker will use before slowing down producers --> | |
<systemUsage> | |
<systemUsage> | |
<memoryUsage> | |
<memoryUsage limit="200 mb"/> | |
</memoryUsage> | |
<storeUsage> | |
<storeUsage limit="1 gb" name="foo"/> | |
</storeUsage> | |
<tempUsage> | |
<tempUsage limit="500 mb"/> | |
</tempUsage> | |
</systemUsage> | |
</systemUsage> | |
<!-- The transport connectors ActiveMQ will listen to --> | |
<transportConnectors> | |
<transportConnector name="openwire" uri="tcp://localhost:61616" discoveryUri="multicast://default"/> | |
</transportConnectors> | |
</broker> | |
<!-- An embedded servlet engine for serving up the Admin console --> | |
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0"> | |
<connectors> | |
<nioConnector port="8161"/> | |
</connectors> | |
<handlers> | |
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/> | |
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/> | |
<webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/> | |
</handlers> | |
</jetty> | |
<!-- Embedded Derby DataSource Sample Setup --> | |
<!-- | |
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> | |
<property name="databaseName" value="derbydb"/> | |
<property name="createDatabase" value="create"/> | |
</bean> | |
--> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
BASE_DIR=`dirname "$BASH_SOURCE"` | |
BASE_DIR=`cd $BASE_DIR; pwd` | |
# bootstrapping the shellpack | |
cd $BASE_DIR/shellpack # <- did I ever mention that buildout is stupid with paths? | |
python $BASE_DIR/shellpack/bootstrap.py | |
$BASE_DIR/shellpack/bin/buildout | |
cd - | |
ln -sf $BASE_DIR/shellpack/src/shellpack/remote/environment/.bashrc ~/.bashrc | |
ln -sf $BASE_DIR/shellpack/src/shellpack/remote/environment/.gitconfig ~/.gitconfig | |
ln -sf $BASE_DIR/shellpack/src/shellpack/remote/environment/.bash_exports ~/.bash_exports | |
ln -sf $BASE_DIR/shellpack/src/shellpack/remote/environment/.screenrc ~/.screenrc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# http://code.google.com/p/boto/source/browse/trunk/boto/ec2/connection.py | |
# http://code.google.com/p/boto/source/browse/trunk/boto/tests/test_ec2connection.py | |
from __future__ import with_statement | |
import os | |
import subprocess | |
import optparse | |
import yaml | |
import logging | |
from boto.ec2.connection import EC2Connection | |
log = logging.getLogger('activemq_stress') | |
# bedag-base | |
# old: ami-9209eefb | |
# new: ami-7f32d416 | |
roles = yaml.load(""" | |
broker: | |
ami: ami-7f32d416 | |
groups: [activemq-broker, default] | |
instance_type: m1.small | |
participant: | |
ami: ami-7f32d416 | |
groups: [default] | |
instance_type: m1.small | |
hyperic: | |
ami: ami-377a9d5e | |
groups: [hq-server, default] | |
instance_type: m1.small | |
userdata: INITPWORD=hqadmin | |
sqlserver: | |
ami: ami-c64daaaf | |
groups: [sql-server, default] | |
instance_type: m1.large | |
""") | |
def main(): | |
usage = "usage: %prog [options]" | |
parser = optparse.OptionParser(usage) | |
parser.add_option("--list", dest="list", | |
action="store_true", | |
default=True, | |
help=""" | |
Lists all running instances, how long they have been running, and their type | |
""") | |
parser.add_option("-l", "--launch", dest="launch", | |
metavar="ROLE", | |
action="store", | |
help="Start an image role [broker|participant|sqlserver|hyperic]") | |
parser.add_option("-t", "--terminate", dest="terminate", | |
metavar="ROLE_OR_ID", | |
action="store", | |
help="terminate an instance (id) or a member of a role [broker|participant|sqlserver|hyperic]") | |
parser.add_option("-b", "--broker-url", dest="broker_url", | |
action="store_true", | |
default=False, | |
help="Get the connection url for the clients to connect to the broker") | |
# TODO how to add default args? | |
options, args = parser.parse_args() | |
# find out about list comprehensions to make | |
# launch and shutdown nice and short. | |
log.debug('options: %s' % options) | |
if options.launch: | |
launch(options.launch) | |
if options.terminate: | |
terminate(options.terminate) | |
if options.broker_url: | |
construct_broker_url() | |
options.list = False | |
if options.list: | |
list_instances() | |
def launch(rolename): | |
if rolename not in roles: | |
raise Exception, "failed to find a suitable role: %s" % rolename | |
role = roles[rolename] | |
conn = aws_connect() | |
log.info("starting role %s" % rolename) | |
log.debug(yaml.safe_dump(role)) | |
conn.run_instances(role['ami'], | |
key_name='manual', | |
security_groups=role['groups'], | |
instance_type=role['instance_type'], | |
user_data=role.get('userdata')) | |
def terminate(rolename_or_instance): | |
print "terminating: %s" % rolename_or_instance | |
conn = aws_connect() | |
if rolename_or_instance in roles: # is it a rolename? | |
role = roles[rolename_or_instance]['ami'] | |
log.debug("terminating all rolemembers for: %s" % role) | |
instances = [] | |
for reservation in conn.get_all_instances(): | |
for instance in reservation.instances: | |
if instance.security_group in role['groups']: | |
instances += instance.id | |
if instances: | |
conn.terminate_instances(instances) | |
else: # it might be an instance name | |
#result = conn.get_all_instances(rolename_or_instance) | |
# if result.isError: | |
# raise Exception, "failed to find a role or instance with id: %s" % rolename_or_instance | |
# | |
conn.terminate_instances(rolename_or_instance) # it's an instance_id | |
def list_instances(): | |
"""Lists all running instances (id), how long they have been running, and their type""" | |
conn = aws_connect() | |
reservations = conn.get_all_instances() | |
print yaml.safe_dump(transform_reservations(reservations, | |
all=False)) | |
def transform_reservations(reservations, all=False): | |
if all: | |
return dump_as_dict(reservations) | |
instances_by_id = {} | |
for rsv in reservations: | |
groups = [group.id for group in rsv.groups] | |
for instance in rsv.instances: | |
if instance.state == 'terminated': | |
continue | |
# construct something of the form (yaml format) | |
# <instance_id>: | |
# - groups: [ <group_id>, ... ] | |
# - ami: <ami_id> | |
# - state: <run_state> | |
instance_hash = {} | |
instance_hash['image_id'] = instance.image_id | |
instance_hash['state'] = instance.state | |
instance_hash['groups'] = groups | |
instance_hash['launch_time'] = instance.launch_time | |
instances_by_id[instance.id] = instance_hash | |
return instances_by_id | |
def aws_connect(): | |
awssecret = os.path.join(os.getenv("HOME"), '.awssecret') | |
if os.path.exists(awssecret) != True: | |
raise Exception, "path to %s does not exist" % awssecret # what kind of exception | |
with open(awssecret, 'r') as f: | |
lines = f.readlines() | |
access_key = lines[0].strip() | |
access_secret = lines[1].strip() | |
log.debug("%s -- %s" % (access_key, access_secret)) | |
conn = EC2Connection(access_key, access_secret) | |
return conn | |
# inspired from http://svn.pyyaml.org/pyyaml-legacy/trunk/experimental/XmlYaml/convertyaml_map.py | |
filtered_attrs = ['connection', | |
'is_truncated', | |
'marker', | |
'markers', | |
'next_token', | |
'reservationSet', | |
'requestId', | |
'status', | |
'DescribeInstancesResponse', | |
'groupSet', | |
'item', | |
'instancesSet' ] | |
def construct_broker_url(): | |
# this is global for now... | |
conn = aws_connect() | |
reservations = conn.get_all_instances() | |
broker_urls = [] | |
for rsv in reservations: | |
groups = [group.id for group in rsv.groups] | |
for instance in rsv.instances: | |
if instance.state == 'terminated': | |
continue | |
if 'activemq-broker' not in groups: | |
continue | |
broker_urls.append("tcp://%s" % instance.private_dns_name) | |
assert len(broker_urls) != 0 | |
if len(broker_urls) == 1: | |
print broker_urls[0] | |
else: | |
print "failover://(%s)" % ",".join(broker_urls) | |
# | |
# def dump_as_dict(obj): | |
# fqn = (lambda c: c.__module__ + "." + c.__name__)(obj.__class__) | |
# log.debug("processing: %s" % fqn) | |
# if obj.__class__.__module__.find("boto") != 0: | |
# return obj | |
# | |
# # copy __dict__ (filter out unnecessary stuff) | |
# objDict = dict([ (key,value) for key,value in obj.__dict__.items() if key not in filtered_attrs ]) | |
# for key,value in obj.__dict__.items(): | |
# if key not in filtered_attrs: | |
# objDict[key] = dump_as_dict(value) | |
# # is it a list? | |
# if isinstance(obj, list): | |
# if objDict: | |
# objDict['values'] = [dump_as_dict(e) for e in obj] | |
# return objDict | |
# else: | |
# return [dump_as_dict(e) for e in obj] | |
# | |
# log.debug("leaving: %s with %s" % (fqn, objDict)) | |
# return objDict | |
if __name__ == "__main__": | |
main() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- START SNIPPET: xbean --> | |
<beans xmlns="http://activemq.apache.org/schema/core"> | |
<broker useJmx="false" brokerName="jdbcBroker" start="false" persistent="true" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<persistenceAdapter> | |
<jdbcPersistenceAdapter dataSource="#derby-ds"/> | |
</persistenceAdapter> | |
<transportConnectors> | |
<transportConnector name="default" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
</broker> | |
<!-- This xbean configuration file supports all the standard spring xml configuration options --> | |
<!-- Postgres DataSource Sample Setup --> | |
<!-- | |
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource"> | |
<property name="serverName" value="localhost"/> | |
<property name="databaseName" value="activemq"/> | |
<property name="portNumber" value="0"/> | |
<property name="user" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="dataSourceName" value="postgres"/> | |
<property name="initialConnections" value="1"/> | |
<property name="maxConnections" value="10"/> | |
</bean> | |
--> | |
<!-- MySql DataSource Sample Setup --> | |
<!-- | |
<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> | |
<property name="driverClassName" value="com.mysql.jdbc.Driver"/> | |
<property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/> | |
<property name="username" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="poolPreparedStatements" value="true"/> | |
</bean> | |
--> | |
<!-- Embedded Derby DataSource Sample Setup --> | |
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> | |
<property name="databaseName" value="derbydb"/> | |
<property name="createDatabase" value="create"/> | |
</bean> | |
</beans> | |
<!-- END SNIPPET: xbean --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<beans xmlns:amq="http://activemq.apache.org/schema/core"> | |
<amq:broker brokerName="journaledMemBroker" start="false" persistent="false" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<amq:transportConnectors> | |
<amq:transportConnector uri="tcp://localhost:61616"/> | |
</amq:transportConnectors> | |
<amq:persistenceAdapter> | |
<amq:journalPersistenceAdapter> | |
<constructor-arg index="0"> | |
<ref bean="myJournalImpl"/> | |
</constructor-arg> | |
<constructor-arg index="1"> | |
<amq:memoryPersistenceAdapter init-method="createTransactionStore"/> | |
</constructor-arg> | |
<constructor-arg index="2"> | |
<bean id="myTaskRunnerFactory" class="org.apache.activemq.thread.TaskRunnerFactory"/> | |
</constructor-arg> | |
</amq:journalPersistenceAdapter> | |
</amq:persistenceAdapter> | |
</amq:broker> | |
<!-- The journal implementation that will be used --> | |
<bean id="myJournalImpl" class="org.apache.activeio.journal.active.JournalImpl"> | |
<constructor-arg index="0"> | |
<bean id="myFile" class="java.io.File"> | |
<constructor-arg index="0"> | |
<value>target/journaledMem-data</value> | |
</constructor-arg> | |
</bean> | |
</constructor-arg> | |
</bean> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- START SNIPPET: xbean --> | |
<beans xmlns="http://activemq.apache.org/schema/core"> | |
<broker useJmx="false" brokerName="kahaBroker" start="false" persistent="true" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<persistenceAdapter> | |
<kahaPersistenceAdapter dir="target/kaha-data"/> | |
</persistenceAdapter> | |
<transportConnectors> | |
<transportConnector name="default" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
</broker> | |
</beans> | |
<!-- END SNIPPET: xbean --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# VBoxManage setextradata "bedag" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP | |
# VBoxManage setextradata "bedag" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22 | |
# VBoxManage setextradata "bedag" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222 | |
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak | |
# since we don't use the -a flag, everything in the original file is replaced... | |
cat <<EOF | sudo tee /etc/apt/sources.list > /dev/null | |
#####KU apt <> Main,Restriced Update##### | |
deb http://mirror1.ku.ac.th/ubuntu/ intrepid main restricted | |
deb http://mirror1.ku.ac.th/ubuntu/ intrepid-updates main restricted | |
deb http://mirror1.ku.ac.th/ubuntu-security/ intrepid-security main restricted | |
#####KU apt <> Multiverse,Universe Update(Optional)##### | |
deb http://mirror1.ku.ac.th/ubuntu/ intrepid multiverse universe | |
deb http://mirror1.ku.ac.th/ubuntu/ intrepid-updates multiverse universe | |
deb http://mirror1.ku.ac.th/ubuntu-security/ intrepid-security multiverse universe | |
#####KU apt <> Source File Main, Restriced (Optional)##### | |
deb-src http://mirror1.ku.ac.th/ubuntu/ intrepid main restricted | |
deb-src http://mirror1.ku.ac.th/ubuntu/ intrepid-updates main restricted | |
deb-src http://mirror1.ku.ac.th/ubuntu-security/ intrepid-security main restricted | |
#####KU apt <> Source File Multiverse,Universe (Optional)##### | |
deb-src http://mirror1.ku.ac.th/ubuntu/ intrepid multiverse universe | |
deb-src http://mirror1.ku.ac.th/ubuntu/ intrepid-updates multiverse universe | |
deb-src http://mirror1.ku.ac.th/ubuntu-security/ intrepid-security multiverse universe | |
EOF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- START SNIPPET: xbean --> | |
<beans xmlns="http://activemq.apache.org/schema/core"> | |
<broker useJmx="false" brokerName="memoryBroker" start="false" persistent="false" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<persistenceAdapter> | |
<memoryPersistenceAdapter/> | |
</persistenceAdapter> | |
<transportConnectors> | |
<transportConnector name="default" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
</broker> | |
</beans> | |
<!-- END SNIPPET: xbean --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# Converting a Relative Path to an Absolute Path | |
# with support for non-existent paths. | |
# | |
# Credits: http://www.robertpeaslee.com/index.php/converting-a-relative-path-to-an-absolute-path-in-bash/ | |
# | |
if [ $# -eq 0 ]; then | |
echo "Usage: $0 " | |
exit 1 | |
fi | |
if [ -d $1 ]; then | |
# Paramater is an existing directory. Print it using the method in the script above. | |
echo "Absolute path: `cd $1; pwd`" | |
elif [[ -e $1 && ! -d $1 ]]; then | |
# File already exists and isn't a directory. Be more safe with the conversion. | |
mkdir $1$$ 2> /dev/null | |
if[ $? -ne 0 ]; then | |
echo "We cannot conver this path without write permissions to the path's destination." | |
exit 1 | |
fi | |
# I don't want to escape the quotes. This is already ugly, anyway. | |
dirName=`cd $1$$; pwd | awk -F"$$" {'print $1'}` | |
echo "Absolute path: $dirName" | |
rm -r $1$$ | |
else | |
# File doesn't exist, begin unelegant conversion | |
mkdir $1 2> /dev/null | |
if [ $? -ne 0 ]; then | |
echo "We cannot convert this path without write permissions to the path's destination." | |
exit 1 | |
fi | |
echo "Absolute path: `cd $1; pwd`" | |
rm -r $1 | |
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -o errexit # Exit when simple command fails. | |
set -o nounset # Trigger error when expanding unset variables. | |
if [ $# -eq 0 ]; then | |
program=`basename "$BASH_SOURCE"` | |
echo " $program <grep-name> [ps-opts]" | |
else | |
regex=$1 | |
shift | |
ps $* | grep $regex | grep -v grep | grep -v $0 | |
fi | |
#ps aux | grep $1 | grep -v grep | grep -v $0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
if [ $# -eq 0 ]; then | |
program=`basename $0` | |
echo " $program <grep-name>" | |
else | |
regex=$1 | |
shift | |
kill $@ `ps aux | grep $regex | grep -v grep | grep -v $0 | awk '{print $2}'` | |
fi | |
#ps aux | grep $1 | grep -v grep | grep -v $0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> | |
<modelVersion>4.0.0</modelVersion> | |
<parent> | |
<artifactId>activemq-parent</artifactId> | |
<groupId>org.apache.activemq</groupId> | |
<version>5.2.0</version> | |
</parent> | |
<artifactId>activemq-perftest</artifactId> | |
<packaging>jar</packaging> | |
<name>ActiveMQ :: Performance Test</name> | |
<description>Performance Testing Framework for ActiveMQ</description> | |
<build> | |
<plugins> | |
<plugin> | |
<groupId>org.apache.activemq.tooling</groupId> | |
<artifactId>maven-activemq-perf-plugin</artifactId> | |
</plugin> | |
<plugin> | |
<groupId>org.apache.activemq.tooling</groupId> | |
<artifactId>maven-activemq-memtest-plugin</artifactId> | |
</plugin> | |
</plugins> | |
</build> | |
<dependencies> | |
<dependency> | |
<groupId>org.apache.xbean</groupId> | |
<artifactId>xbean-spring</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>org.springframework</groupId> | |
<artifactId>spring-core</artifactId> | |
</dependency> | |
<dependency> | |
<groupId>net.sourceforge.jtds</groupId> | |
<artifactId>jtds</artifactId> | |
<version>1.2.2</version> | |
</dependency> | |
</dependencies> | |
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- START SNIPPET: xbean --> | |
<beans xmlns="http://activemq.apache.org/schema/core"> | |
<broker useJmx="false" brokerName="quickJdbcBroker" start="false" persistent="true" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<persistenceAdapter> | |
<journaledJDBC journalLogFiles="4" journalLogFileSize="32768" useJournal="true" useQuickJournal="true" dataSource="#derby-ds" dataDirectory="target/quickJdbc-data"/> | |
</persistenceAdapter> | |
<transportConnectors> | |
<transportConnector name="default" uri="tcp://localhost:61616"/> | |
</transportConnectors> | |
</broker> | |
<!-- This xbean configuration file supports all the standard spring xml configuration options --> | |
<!-- Postgres DataSource Sample Setup --> | |
<!-- | |
<bean id="postgres-ds" class="org.postgresql.ds.PGPoolingDataSource"> | |
<property name="serverName" value="localhost"/> | |
<property name="databaseName" value="activemq"/> | |
<property name="portNumber" value="0"/> | |
<property name="user" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="dataSourceName" value="postgres"/> | |
<property name="initialConnections" value="1"/> | |
<property name="maxConnections" value="10"/> | |
</bean> | |
--> | |
<!-- MySql DataSource Sample Setup --> | |
<!-- | |
<bean id="mysql-ds" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> | |
<property name="driverClassName" value="com.mysql.jdbc.Driver"/> | |
<property name="url" value="jdbc:mysql://localhost/activemq?relaxAutoCommit=true"/> | |
<property name="username" value="activemq"/> | |
<property name="password" value="activemq"/> | |
<property name="poolPreparedStatements" value="true"/> | |
</bean> | |
--> | |
<!-- Embedded Derby DataSource Sample Setup --> | |
<bean id="derby-ds" class="org.apache.derby.jdbc.EmbeddedDataSource"> | |
<property name="databaseName" value="derbydb"/> | |
<property name="createDatabase" value="create"/> | |
</bean> | |
</beans> | |
<!-- END SNIPPET: xbean --> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<beans xmlns:amq="http://activemq.apache.org/schema/core"> | |
<amq:broker brokerName="quickMemBroker" start="false" persistent="false" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<amq:transportConnectors> | |
<amq:transportConnector uri="tcp://localhost:61616"/> | |
</amq:transportConnectors> | |
<amq:persistenceAdapter> | |
<amq:quickJournalPersistenceAdapter> | |
<constructor-arg index="0"> | |
<ref bean="myJournalImpl"/> | |
</constructor-arg> | |
<constructor-arg index="1"> | |
<amq:memoryPersistenceAdapter init-method="createTransactionStore"/> | |
</constructor-arg> | |
<constructor-arg index="2"> | |
<bean id="myTaskRunnerFactory" class="org.apache.activemq.thread.TaskRunnerFactory"/> | |
</constructor-arg> | |
</amq:quickJournalPersistenceAdapter> | |
</amq:persistenceAdapter> | |
</amq:broker> | |
<!-- The journal implementation that will be used --> | |
<bean id="myJournalImpl" class="org.apache.activeio.journal.active.JournalImpl"> | |
<constructor-arg index="0"> | |
<bean id="myFile" class="java.io.File"> | |
<constructor-arg index="0"> | |
<value>target/quickMem-data</value> | |
</constructor-arg> | |
</bean> | |
</constructor-arg> | |
</bean> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="UTF-8"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<beans xmlns:amq="http://activemq.apache.org/schema/core"> | |
<amq:broker brokerName="rapidBroker" start="false" persistent="true" useShutdownHook="false" deleteAllMessagesOnStartup="true" advisorySupport="false"> | |
<amq:transportConnectors> | |
<amq:transportConnector uri="tcp://localhost:61616"/> | |
</amq:transportConnectors> | |
<amq:persistenceAdapter> | |
<amq:rapidPersistenceAdapter> | |
<constructor-arg index="0"> | |
<ref bean="myJournalImpl"/> | |
</constructor-arg> | |
<constructor-arg index="1"> | |
<bean id="myTaskRunnerFactory" class="org.apache.activemq.thread.TaskRunnerFactory"/> | |
</constructor-arg> | |
</amq:rapidPersistenceAdapter> | |
</amq:persistenceAdapter> | |
</amq:broker> | |
<!-- The journal implementation that will be used --> | |
<bean id="myJournalImpl" class="org.apache.activeio.journal.active.JournalImpl"> | |
<constructor-arg index="0"> | |
<bean id="myFile" class="java.io.File"> | |
<constructor-arg index="0"> | |
<value>target/rapid-data</value> | |
</constructor-arg> | |
</bean> | |
</constructor-arg> | |
</bean> | |
</beans> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# | |
# only executed on the remote machine | |
# | |
cat <<EOF | sudo tee -a /etc/apt/sources.list > /dev/null | |
deb http://us.archive.ubuntu.com/ubuntu/ intrepid multiverse | |
deb-src http://us.archive.ubuntu.com/ubuntu/ intrepid multiverse | |
deb http://us.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse | |
deb-src http://us.archive.ubuntu.com/ubuntu/ intrepid-updates multiverse | |
EOF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.net.InetAddress; | |
import java.net.UnknownHostException; | |
public class Resolv { | |
public static void main(String[] args) { | |
if (args.length != 1) { | |
System.out.println("Resolv <ip>"); | |
System.exit(1); | |
} | |
try { | |
InetAddress localHost = InetAddress.getByName(args[0]); | |
System.out.println(localHost.getHostAddress()); | |
} catch(UnknownHostException exc){ | |
System.out.println("- Unable to resolve host"); | |
System.exit(2); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
from setuptools import setup | |
setup(name='shellpack', | |
version='0.0.1', | |
description='Stress testing tools for ActiveMQ >5.2.0 and helpers for interacting with EC2', | |
long_description=""" | |
""", | |
author='Daniel', | |
author_email='', | |
url='http://todo/', | |
packages=['shellpack', | |
'shellpack.aws', | |
'shellpack.remote'], | |
package_dir={'': 'src'}, | |
install_requires=[ | |
'boto==1.7a', | |
'PyYAML==3.05', | |
# 'Gnosis_Utils==1.2.1-a', | |
], | |
entry_points=(""" | |
[console_scripts] | |
instances=shellpack.aws.instances:main | |
activemq=shellpack.activemq:main | |
ami_builder=shellpack.aws.ami_builder:main | |
tryout=activemq_stress.tryout:main | |
remote_install=activemq_stress.remote.install:main | |
"""), | |
classifiers=[ | |
'Development Status :: 4 - Beta', | |
'License :: OSI Approved :: Python Software Foundation License', | |
'Environment :: Console', | |
'Environment :: Web Environment', | |
'Operating System :: MacOS :: MacOS X', | |
'Operating System :: Microsoft :: Windows', | |
'Operating System :: POSIX', | |
'Programming Language :: Python', | |
'Topic :: Software Development :: Commandline', | |
'Intended Audience :: Developers', | |
'Intended Audience :: System Administrators' | |
], | |
) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#/usr/bin/env python | |
# cmd is: date '+%Y%m%d%H%M' | |
def print_date(copy=True): | |
cmd = "date '+%%Y%%m%%d%%H%%M'" | |
print result | |
if copy: | |
cmd = "echo %s | pbcopy" % result | |
exec_cmd(cmd) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
import os | |
import re | |
import subprocess | |
import logging | |
import optparse | |
import yaml | |
# TODO how do we find this one out? | |
tests = yaml.load(""" | |
0a: | |
1a: | |
task: | |
producers: | |
participants: 1 | |
messages_per_producer: 1'000'000 | |
size: 10kb | |
verify: | |
runtime: < 2h | |
1b: | |
task: | |
consumers: | |
participants: 1 | |
consume_until: gap > 20s | |
verify: | |
messages: 1'000'000 | |
consumed_size: 10kb | |
verify: | |
runtime: < 1h | |
1c: | |
task: | |
producers: | |
participants: 4 | |
messages_per_producer: 1'000'000 | |
size: 1kb | |
verify: | |
runtime: < 2h | |
1d: | |
task: | |
consumers: | |
participants: 4 | |
consume_until: gap > 20s | |
verify: | |
messages: 1'000'000 | |
consumed_size: 10kb | |
verify: | |
runtime: < 6h | |
1e: | |
task: | |
consumers: | |
participants: 4 | |
consume_until: gap > 20s | |
verify: | |
messages: 1'000'000 | |
verify_size: True | |
producers: | |
participants: 4 | |
messages_per_producer: 1'000'000 | |
message_size: 1kb | |
verify: | |
runtime: < 6h | |
# create classes for starting the tests. Makes it a lot more readable | |
1f: | |
1g: | |
1h: | |
2a: | |
2a: | |
2a: | |
2a: | |
2a: | |
2a: | |
""") | |
def main(): | |
usage = "usage: %prog [options]" | |
parser = optparse.OptionParser(usage) | |
parser.add_option("-t", "--test", dest="test", | |
action="store", | |
default="0a", | |
help="run a given test (if invoked without an argument, available tests are presented)") | |
parser.add_option("-d", "--down", dest="stop", | |
action="store_true", | |
default=False, | |
help="Stop the broker.") | |
parser.add_option("-st", "--status", dest="status", | |
action="store_true", | |
default=False, | |
help="Display status message for the broker") | |
parser.add_option("-c", "--connection-url", dest="connection_url", | |
action="store_true", | |
default=False, | |
help="Display connection URL for clients to use all active brokers in group [activemq-broker]") | |
options, args = parser.parse_args() | |
command | |
command_pattern = "java -cp artifacts/activemq-stress.jar:artifacts/activemq-all-%s.jar %s" % activemq_version % command | |
if options.start and options.stop: | |
parser.error('Cannot start and stop at the same time, decide what you want') | |
# Merging branch requires latest merged master | |
if options.start: | |
logging.info('starting activemq') # can we block, until it's running or waiting for the master? | |
custom_config = "" | |
if options.nodb: | |
custom_config = "xbean:file:%s/inmemory-activemq.xml" % config_home | |
output,_ = call_command("$HOME/apache-activemq-5.2.0/bin/activemq %s &" % custom_config) | |
else if options.stop: | |
logging.info('stopping activemq') | |
output,_ = call_command("kill `ps -ef | grep apache-activemq-5\.2\.0 | grep -v grep | grep -v kill | awk '{print $2}'`") | |
if options.status: | |
output,_ = call_command("ps -ef | grep apache-activemq-5\.2\.0 | grep -v grep | grep -v kill | awk '{print $2}'") | |
if options.connection_url: | |
# have to have the secrets declared (read in?) | |
conn = EC2Connection() | |
logging.info('Successfully merged branch %s into master and pushed to origin' % branch ) | |
def call_command(command): | |
process = subprocess.Popen(command.split(' '), | |
stdout=subprocess.PIPE, | |
stderr=subprocess.PIPE) | |
return process.communicate() | |
if __name__ == "__main__": | |
main() | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# encoding: utf-8 | |
import sys | |
import os | |
HOURS = HOUR = 60 * 60 # hour in seconds | |
MINUTES = MINUTE = 60 # minute in seconds | |
KByte = 1024 # hour in seconds | |
class TestSpecification(object): | |
def __init__(self, inittup): | |
assert_hasattr('') | |
assert_hasmethod('') | |
if not hasattr(self.__class__, '_order'): | |
raise NotImplementedError, \ | |
"Child of Abstract Class Seq must specify order" | |
if not isinstance(self._order, type()): | |
raise ValidityError, "Seq must have tuple as order" | |
self.name = self.__class__.__name__ | |
def assert_hasattr(self, attr_name): | |
"""checks if attr is defined, and fails otherwise""" | |
if not hasattr(obj.__class__, attr_name): | |
raise NotImplementedError, \ | |
"Child of Abstract Class %s must specify order" % TestSpecification.__class__.__name__ | |
attr = getattr(obj.__class__, attr_name) | |
if not isinstance(attr, tuple): | |
raise ValidityError, "Seq must have tuple as order" | |
def assert_hasmethod(self, attr_name): | |
"""checks if attr is defined, and fails otherwise""" | |
if not hasattr(obj.__class__, attr_name): | |
raise NotImplementedError, \ | |
"Child of Abstract Class %s must specify order" % TestSpecification.__class__.__name__ | |
class Test1a(TestSpecification): | |
""" | |
[action] | |
Send one million messages into a queue with no consumer. | |
[expectation] | |
The queue contains one million messages. | |
Elapsed time: < 2h. | |
""" | |
class Producer(Participant): | |
def act(): | |
send(amount=1000000, size=10*KByte) | |
participants = [Producer()] | |
def verifications(ctx): | |
(lambda ctx: ctx.elapsed_time < 2*HOUR, | |
) | |
class Test1e(TestSpecification): | |
""" | |
[action] | |
Send one million messages from one producer to two consumers. | |
Start the producers before the consumer. | |
[expectation] | |
The consumers consume all messages jointly. | |
The distribution between the consumers is not worse than 30/70. | |
Elapsed time: < 1h. | |
""" | |
class Producer(Participant): | |
def act(): | |
send(amount=1000000, size=10*KByte) | |
class Consumer(Participant): | |
def act(): | |
receive(time_out=5*MINUTES, size=10*KByte) | |
def verifications(ctx): | |
return (lambda ctx: ctx.consumption_ratio > 30/70, | |
) | |
participants = [Consumer(), Consumer(), Producer()] | |
def verifications(): | |
return (lambda: ctx.in_progress or ctx.elapsed_time < 1*HOUR, | |
lambda: ctx.consumption_ratio > 30/70, | |
lambda: ctx.in_progress or ctx.consumed_total == 1000000, | |
) | |
class Test1e(TestSpecification): | |
""" | |
[action] | |
Send one million messages from one producer to two consumers. | |
Start the producers before the consumer. | |
[expectation] | |
The consumers consume all messages jointly. | |
The distribution between the consumers is not worse than 30/70. | |
Elapsed time: < 1h. | |
""" | |
class Producer(Participant): | |
def act(): | |
send(amount=1000000, size=10*KByte) | |
class Consumer(Participant): | |
def act(): | |
receive(time_out=5*MINUTES, size=10*KByte) | |
def verifications(ctx): | |
return (lambda ctx: ctx.consumption_ratio > 30/70, | |
) | |
participants = [Consumer(), Consumer(), Producer()] | |
def verifications(): | |
return (lambda: ctx.in_progress or ctx.elapsed_time < 1*HOUR, | |
lambda: ctx.consumption_ratio > 30/70, | |
lambda: ctx.in_progress or ctx.consumed_total == 1000000, | |
) | |
class Test1e(TestSpecification): | |
""" | |
[action] | |
Send one million messages from one producer to two consumers. | |
Start the producers before the consumer. | |
[expectation] | |
The consumers consume all messages jointly. | |
The distribution between the consumers is not worse than 30/70. | |
Elapsed time: < 1h. | |
""" | |
class Producer(Participant): | |
def act(): | |
send(amount=100000, size=1*KByte) | |
def kill_broker(ctx): | |
# not concurrent safe | |
if (ctx.sent_total > ) | |
inflight_hooks += kill_broker | |
participants = [Producer()] | |
def verifications(): | |
return (lambda: ctx.in_progress or ctx.elapsed_time < 1*HOUR, | |
lambda: ctx.consumption_ratio > 30/70, | |
lambda: ctx.in_progress or ctx.consumed_total == 1000000, | |
) | |
# class Test2a(object): | |
# consumers: | |
# participants: 1 | |
# consume_until: gap > 20s | |
# verify: | |
# messages: 1'000'000 | |
# consumed_size: 10kb | |
# verify: | |
# runtime: < 1h | |
# 1c: | |
# task: | |
# producers: | |
# participants: 4 | |
# messages_per_producer: 1'000'000 | |
# size: 1kb | |
# verify: | |
# runtime: < 2h | |
# | |
# 1d: | |
# task: | |
# consumers: | |
# participants: 4 | |
# consume_until: gap > 20s | |
# verify: | |
# messages: 1'000'000 | |
# consumed_size: 10kb | |
# verify: | |
# runtime: < 6h | |
# | |
# 1e: | |
# task: | |
# consumers: | |
# participants: 4 | |
# consume_until: gap > 20s | |
# verify: | |
# messages: 1'000'000 | |
# verify_size: True | |
# | |
# producers: | |
# participants: 4 | |
# messages_per_producer: 1'000'000 | |
# | |
# message_size: 1kb | |
# verify: | |
# runtime: < 6h | |
# # create classes for starting the tests. Makes it a lot more readable | |
# |
-
Start the new AMI, and see how it works
ec2-run-instances ami-7f32d416
-
Get ActiveMQ up and running (as in memory broker) This means configuring it correctly with the apropriate
-
Start the Hyperic AWS Devel edition ** start the hyperic agent (do we have to downgrade to 4.1.1 to be compatible with the server?)
-
do ** Register the Instance with the hyperic server ** See if the hyperic server is running well
-
Start the SQL Server ** Create the ACTIVEMQ database (and detail the steps to get there (blog?)) ** Connect the broker to the new database
-
Tests ** Start running volume tests ** .
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment