WARNING: This web is not used anymore. Please use
PDBService.OracleRACLoadTestingInstall
instead!
TWiki
>
PSSGroup Web
>
PhysicsDatabasesSection
>
DBBenchmarkAndStressTest
>
OracleRACLoadTesting
>
OracleRACLoadTestingInstall
(revision 2) (raw view)
Edit
Attach
PDF
<!-- DO NOT DELETE - Google Analytics statistics - miguel.anjo@cern.ch --> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> <!-- Hide JavaScript and <pre> escape TWiki rendering _uacct = "UA-109343-1"; urchinTracker(); // Stop hiding and stop </pre> escaping TWiki rendering --> </script> <!-- ############################################################################ --> ---+ Installation %TOC% ---++ Requirements The framework is coupled to several tools available at CERN. You will need to check if everything is set up correctly. * Every client machine should have an AFS access. It allows us to distribute the code to the clients and gather the results in a single folder. NFS can be used as a substitute but it will cause problems for the web based report. * One of the client machines should be able to access all the other nodes via ssh and without password. This one will be used to start the manager script. ---++ Source code You can get the source code from the CORAL CVS : <verbatim> cd ~/ cvs -d :pserver:anonymous@coral.cvs.cern.ch:/cvs/coral co -d PerfTests -P coral/Tests/Performance_RelationalAccess/ </verbatim> ---++ Web site configuration A web site should be configured in order to publish the web based report. An AFS based is easily created using this page : https://www.cern.ch/WebServices/Services/CreateNewSite/ . Choose _AFS folder_ for the _Site type_ and put the log folder path (ie: =/afs/cern.ch/user/j/jsmith/PerfTests/logs/=). ---+++ Install JPGraph Get it from there : http://www.aditus.nu/jpgraph/jpdownload.php ( use "PHP4: !JpGraph 1.x - series" ) and put it in the log directory (as jpgraph) : <verbatim> cd ~/PerfTests/logs/ wget http://hem.bredband.net/jpgraph/jpgraph-1.22.tar.gz -O /tmp/jpgraph.tar.gz tar zxf /tmp/jpgraph.tar.gz mv jpgraph* jpgraph </verbatim> ---+++ Access rights Change the access privileges to the log directory to enable access from web : <verbatim> fs setacl -dir ~/PerfTests/logs/ ~/PerfTests/logs/jpgraph/src/ ~/PerfTests/logs/jpgraph/src/lang/ -acl system:anyuser rl </verbatim> ---++ Monitoring schema on the target database You should create a specific schema on the monitored batabase to use the monitoring feature. A script called [[http://coral.cvs/cgi-bin/coral.cgi/coral/Tests/Performance_RelationalAccess/bin/install.sql?view=markup][install.sql]] is provided in order to do so. You should execute it with a DBA account. You will be asked for a username and a password which will be needed by the framework afterward (in authentication.xml). ---++ Framework configuration Modify [[http://coral.cvs/cgi-bin/coral.cgi/coral/Tests/Performance_RelationalAccess/bin/testConf.xml?view=markup][testConf.xml]] to configure the test environment. * Indicate the client machine hostnames <verbatim> <testNodes> <client>node1</client> <client>node2</client> <client>node3</client> </testNodes> </verbatim> * and the RAC node hostnames <verbatim> <monitoring> <server>server1</server> <server>server2</server> </monitoring> </verbatim> * you can enable the different monitoring graphs <verbatim> <statistic cpu="1" -- 0 to disable numRACNodes="2" waitEvents="1"/> -- 0 to disable </verbatim> * you can tweak the ramping-up of the connections <verbatim> <execution numBoxes="1" -- number of machines used for this test run numMaxClientsPerBox="2" -- total number of client programs which will be started on each client machine numClientsPerBoxInit="1" -- number of client programs which will be started on each client machine on the first step numClientsPerStep="1" -- number of client programs which will be started on each client machine on the following steps stepPeriod="20" -- waiting time between each "ramping-up step" testMaxDuration="3600"/> -- maximum duration of the test, after this period the clients are killed and the test is shut down </verbatim> * then you should indicate the folders used by the program <verbatim> <locations baseDir="/afs/cern.ch/user/j/jsmith/PerfTests/" -- directory where you downloaded the framework clientLogDir="/afs/cern.ch/user/j/jsmith/PerfTests/logs/"/> -- directory where you planned to store all the log folders (can be in another place than the base directory but should remain on a shared filesystem. </verbatim> * here you should indicate the information related to the client program <verbatim> <clientConf db_connection="/dbdev/OracleStress" -- connection string used by the monitoring script (declared in dblookup.xml and authentication.xml) db_username="ST_CLIENT" -- name of the Oracle user which will be used as client for the test testClientCmd="client.py" -- command used to start the test program on the different client nodes testClientExe="python" -- real name as seen by the operating system (eg: python for a python script) reportEveryXSecs="10"/> -- time between each monitoring output (should also be used in the client program, eg: writes results on this same frequency) </verbatim> * you can save meaningful files in the log folder <verbatim> <fileToSave> <file name="Client execution script">client.py</file> -- the client program should be saved in order to reproduce the test easily <file name="Configuration file">testConf.xml</file> -- a saved version of the configuration file is also needed to generate the report </fileToSave> </verbatim> ---++ Database access You'll have to modify the configuration files authentication.xml and dblookup.xml. They are needed by the monitoring extension and perhaps for the test client. * [[http://pool.cern.ch/coral/currentReleaseDoc/UserGuide/Implementation_Packages.html#d0e2865][authentication.xml]], gathering the Oracle usernames & passwords : First the account for the monitoring <verbatim> <?xml version="1.0" ?> <connectionslist> <connection name="oracle://oracle_service_name/oracle_monitoring_username"> <parameter name="user" value="oracle_monitoring_username" /> <parameter name="password" value="oracle_monitoring_password" /> </connection> </verbatim> Then the account for the test client for each node (if using COOL or CORAL) <verbatim> <connection name="oracle://oracle_service_name_node1/oracle_client_username"> <parameter name="user" value="oracle_client_username" /> <parameter name="password" value="oracle_client_password" /> </connection> <connection name="oracle://oracle_service_name_node2/oracle_client_username"> <parameter name="user" value="oracle_client_username" /> <parameter name="password" value="oracle_client_password" /> </connection> </connectionslist> </verbatim> * [[http://pool.cern.ch/coral/currentReleaseDoc/UserGuide/Implementation_Packages.html#d0e2938][dblookup.xml]], define a service name for the monitoring : CORAL uses also this file to declare the monitoring service name <verbatim> <?xml version="1.0" ?> <servicelist> <logicalservice name="/OracleStressReport"> <service name="oracle://oracle_serice_name/oracle_monitoring_username" accessMode="readonly" authentication="password" /> </logicalservice> </servicelist> </verbatim> ---++ Set the environment variables There are two files provided depending on your shell. For bash, sh or zsh use =[[http://coral.cvs/cgi-bin/coral.cgi/coral/Tests/Performance_RelationalAccess/bin/bashrc?view=markup][bashrc]]= and for csh or tcsh use =[[http://coral.cvs/cgi-bin/coral.cgi/coral/Tests/Performance_RelationalAccess/bin/cshrc?view=markup][cshrc]]=. You can copy them in your =.bashrc= (or =.cshrc=) or source them from there : <verbatim> source ~/PerfTests/bin/bashrc </verbatim> Don't forget to modify the following variable if needed : <verbatim> export CMTCONFIG=slc4_amd64_gcc34 -- eg can be changed to slc4_ia32_gcc34 </verbatim>
Edit
|
Attach
|
Watch
|
P
rint version
|
H
istory
:
r4
<
r3
<
r2
<
r1
|
B
acklinks
|
V
iew topic
|
Raw edit
|
More topic actions...
Topic revision: r2 - 2007-12-07
-
RomainBasset
Log In
PSSGroup
PSSGroup
On Shift
Sub-wikis
PhysicsDatabases
DBA Area
3D project
Persistency Framework
Other
PSS group public
PhyDB public
DBA Services Wiki
PSSGroup Wiki
Last Changes
Pages Index
Search web
Cern Search
TWiki Search
Google Search
PSSGroup
All webs
Copyright &© 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use
Discourse
or
Send feedback