2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2025-05-30 09:36:41 +00:00
xcat-core/xCAT-test/pods/man1/xcatperftest.1.pod
Bin Xu 8b8a82627b The tool to get xCAT node range operation performance baseline (#2681) (#2916)
* Feature #2681, to add a script in xCAT-test to get the performance baseline for node range operation.

* adopt review comments in PR#2916:
  1, add the rst file for xcatperftest (#2681)
  2, using /bin/bash as script executor
  3, FILES in manpage should not be in the same line
  4, minor adjustment if PERF_NOCREATE/PERF_DRYRUN is set
2017-05-09 04:49:15 -05:00

152 lines
4.8 KiB
Plaintext

=head1 NAME
B<xcatperftest> - Run xCAT command performance baseline testing on fake nodes.
=head1 SYNOPSIS
B<xcatperftest> [B<-?|-h>]
[B<PERF_DRYRUN>=y] [B<PERF_NOCREATE>=y] B<xcatperftest> <total> [I<command-list-file>]
=head1 DESCRIPTION
The xcatperftest command runs commandes defined in a command list file and get their execution response time baseline for performance purpose.
The xcatperftest command is part of the xCAT package xCAT-test, and you can run it standalone or leverage it to build up your automation test cases.
Any commands could be defined in the command list file, however, it is recommended that the one-time initial configuration are well prepared prior to run xcatperftest command.
For example, the network object, osdistor and osimage image objects.
Follow the below steps to run xcatperftest command:
1, Install xCAT-test on a xCAT management nodes.
2, Prepare a command list in which the commands are what you want to messure.
3, Prepare the initial configuration based on the command list to make sure all commands could be executed in techinal.
4, Run xcatperftest with the total fake nodes number and the above command list file.
Node: It is suggested to run the command in background as it normally takes long time to finish all the performanc testing with large amount of fake nodes.
=head1 OPTIONS
=over 10
=item B<-?|-h>
Display usage message.
=item <command-list-file>
Specifies the command list file with full-path. xCAT supports an example command file: /opt/xcat/share/xcat/tools/autotest/perfcmds.lst
=item <total>
Total number of fake nodes will be defined during the testing.
=back
=head1 RETURN VALUE
0 The command completed successfully.
1 An error has occurred.
=head1 COMMAND LIST FILE
The command list file is in flat text format, the testing framework will parse the file line by line, here is an example of the commannd list file:
#SERIES# 1,50,100,250,500,1000,2500,5000
mkdef -z -f < #STANZ#
lsdef #NODES#
makehosts #NODES#
makedns -n #NODES#
makedhcp #NODES#
makeknownhosts #NODES#
nodech #NODES# groups,=group1
nodels #NODES# noderes
nodeset #NODES# osimage=rhels7.3-GA-ppc64le-install-compute
chdef -t node -o #NODES# postscripts="fake" profile="install" netboot="grub2"
rmdef -t node #PERFGRP#
mkdef -z < #STANZ#
noderm #PERFGRP#
B<Note>: Each line defines one command, and the commands dependency should be handled by the line order.
If you define a node range series line (started with #SERIES#) in this file, xcatperftest will run the command for each node range defined in series line.
B<#SERIES#> To define a node range series, and the series should be an comma split incremental number sequence.
B<#STANZ#> It will be replaced with real stanz file path when this command line runs.
B<#NODES#> It will be replaced with real node range defined in #SERIES# line when this command line runs. If no series line, the node group will be used.
B<#PERFGRP#> It will be replaced with node group when this command line runs.
=head1 ENVIRONMENT VARIABLE
The xcatperftest command supports be customized by some environment variables.
B<FAKE_NODE_PREFIX>
Optional, the prefix of the fake compute node name. By default, the value is 'fake'
B<FAKE_NODE_GROUP>
# Optional, the group name of all the fake compute nodes. By default, the value is 'perftest'
B<FAKE_NETWORK_PRO>
Mandatory, the Provision network for all the fake compute nodes. By default, the value is '192.168'.
It must be a string like 'A.B', and be matched with `tabdump networks`
B<FAKE_NETWORK_BMC>
Mandatory, the BMC network for all the fake compute nodes. By default, the value is '192.168'. Note: It could not be the same subnet as 'FAKE_NETWORK_PRO'
It must be a string like 'A.B' and no need to be defined in 'networks' table.
B<PERF_NODETEMPL>
Optional, The node template name used for generating fake nodes. By default, it will be auto-detected according to the current arch.
B<PERF_DRYRUN>
Optional, Indicate no real commands will be executed if the environment variable is set.
B<PERF_NOCREATE>
Optional, Indicate no new fake nodes will be created if the environment variable is set.
=head1 EXAMPLES
=over 4
=item 1.
To run the performance testing for the commands defined in /tmp/cmd.lst on 5000 fake nodes:
xcatperftest 5000 /tmp/cmd.lst
=item 2.
To generate an xCAT node object stanz file for 10000 nodes in subnet 10.100.0.0:
FAKE_NETWORK_PRO=10.100 FAKE_NETWORK_BMC=10.200 xcatperftest 10000
=item 3.
To run the performance testing for the commands defined in /opt/xcat/share/xcat/tools/autotest/perfcmds.lst on 5000 existing fake nodes:
PERF_NOCREATE=y xcatperftest 5000 /opt/xcat/share/xcat/tools/autotest/perfcmds.lst
=back
=head1 FILES
/opt/xcat/bin/xcatperftest
/opt/xcat/share/xcat/tools/autotest/perfcmds.lst