This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tsm:tsm_perf [2021/01/14 15:29] manu |
tsm:tsm_perf [2023/11/06 10:14] (current) manu |
||
---|---|---|---|
Line 3: | Line 3: | ||
Are you in the best practice for the server ? | Are you in the best practice for the server ? | ||
* have a look on Spectum Blueprint (on google) | * have a look on Spectum Blueprint (on google) | ||
+ | |||
+ | ===== Spectrum Protect Server block size considerations ===== | ||
+ | |||
+ | DB block size used: 8kb\\ | ||
+ | Storage pool DISK and FILE: reads and writes to storage pools predominantly in **256 KB** blocks\\ | ||
+ | The extents can range in size from 50 KB to 4 MB with an average of 256 KB. Any data smaller than 2 KB or data that cannot be deduplicated, such as encrypted or compressed, are not deduplicated. | ||
+ | |||
+ | S3: By default, these files are 1 GB in size and are configurable using the parameter | ||
+ | CloudTransferContainerSize server option (i.e. specifying in dsmserv.opt or using the “setopt” server command). These files are transferred to Access using S3 multipart-upload. With 1 GB default file size, the default part size that the file is broken up to is 100 MB. | ||
+ | This value is configurable using the server parameter, CloudMinUploadPartSize. For restores, IBM Spectrum Protect does range reads in smaller sizes of 10 KB – 100KB | ||
===== Check performances on Spectrum Protect Server ===== | ===== Check performances on Spectrum Protect Server ===== | ||
Line 8: | Line 18: | ||
The servermon component is automatically installed and configured as part of the IBM Spectrum Protect Version 8.1.7 server installation. | The servermon component is automatically installed and configured as part of the IBM Spectrum Protect Version 8.1.7 server installation. | ||
+ | Servermon logs are located in $HOMEDIR of instance into srvmon directory | ||
+ | <cli prompt='#'> | ||
+ | [root@tsm01]/isp01/srvmon # ls -lsa | ||
+ | 0 drwx------ 5 isptest1 ispsrv 55 Jan 14 00:00 .20210114T0000-ISPTEST1 | ||
+ | 40 -rw-r----- 1 isptest1 ispsrv 38012 Jan 7 14:37 commands.ini | ||
+ | 4 -rw-r----- 1 isptest1 ispsrv 11 Jan 7 14:59 lock | ||
+ | 4 -rw-r----- 1 isptest1 ispsrv 2505 Sep 5 2019 servermon.ini | ||
+ | 12 -rw------- 1 isptest1 ispsrv 9436 Jan 14 16:40 servermon.log | ||
+ | 20 -rw------- 1 isptest1 ispsrv 18139 Jan 14 00:00 servermon.log.1 | ||
+ | 20 -rw------- 1 isptest1 ispsrv 18071 Jan 13 00:00 servermon.log.2 | ||
+ | 264 -rw-r----- 1 isptest1 ispsrv 268380 Jan 14 16:41 srvmon_10min_done.txt | ||
+ | 248 -rw-r----- 1 isptest1 ispsrv 252280 Jan 14 16:40 srvmon_20min_done.txt | ||
+ | </cli> | ||
+ | |||
+ | The example file for analysing is located into: | ||
+ | /isp01/srvmon/.20210114T0000-ISP01/results/20210114T1629-00000099-20min-show.txt | ||
+ | === Example with disk perf problems with replication === | ||
The servermon data has been reviewed, and from the source side (TSM01), the bottle neck is Network Send. The following performance data shows that "Network Send" uses 756.937 seconds of a total of 802.980, this is about 94% of the time is spent | The servermon data has been reviewed, and from the source side (TSM01), the bottle neck is Network Send. The following performance data shows that "Network Send" uses 756.937 seconds of a total of 802.980, this is about 94% of the time is spent | ||
Line 64: | Line 91: | ||
The activity log reports the PROTECT STGPOOL process is using MAXSESSion=10, so first try increasing this to improve performance. Here is my recommendation: | The activity log reports the PROTECT STGPOOL process is using MAXSESSion=10, so first try increasing this to improve performance. Here is my recommendation: | ||
- | 1. Change the PROTECT STGPOOL to run with MAXSESSion=20. | + | - Change the PROTECT STGPOOL to run with MAXSESSion=20 |
- | 2. Let it run to completion, and then collect the servermon data from both TSM01, and TSM02. | + | - Let it run to completion, and then collect the servermon data from both TSM01, and TSM02. |
If this does not show any improvement then the primary issue will be the disk write performance on target server TSM02. | If this does not show any improvement then the primary issue will be the disk write performance on target server TSM02. | ||
Line 72: | Line 99: | ||
QUERY REPLFAILURES > qreplfail.txt | QUERY REPLFAILURES > qreplfail.txt | ||
+ | |||
+ | ===== Check performances on Spectrum Protect Client ===== | ||
+ | |||
+ | Use the following parameter into dsm.opt or dsm.sys on linux | ||
+ | <cli> | ||
+ | enableinstrumentation yes | ||
+ | </cli> | ||
+ | |||
+ | Or directly using command line: | ||
+ | <cli> | ||
+ | dsmc sel c:\mydir\* -subdir=yes -enableinstrumentation=yes | ||
+ | </cli> | ||
+ | |||
+ | On older version of client, before 8.1 use the -TESTFLAG=instrument:detail,-TESTFLAG=instrument:API, and -TESTFLAG=instrumentation:detail/API options. | ||
+ | |||
+ | **dsminstr.log** file is located in the directory that is specified by the DSM_LOG environment variable. You can also change the file name, location and size using **instrlogname** and **instrlogmax** options | ||
+ | |||
+ | Here is an example of statistics from dsminstr.log | ||
+ | <code> | ||
+ | Detailed Instrumentation statistics for | ||
+ | |||
+ | Thread: 5076 Elapsed time = 510.979 sec | ||
+ | |||
+ | Section Actual(sec) Average(msec) Frequency used | ||
+ | ----------------------------------------------------------------------------------- | ||
+ | Compute 0.218 0.0 27535 | ||
+ | BeginTxn Verb 0.000 0.0 32 | ||
+ | Transaction 0.374 11.7 32 | ||
+ | File I/O 2.668 0.1 20702 | ||
+ | Compression 32.105 1.2 27520 | ||
+ | Data Verb 445.225 64.3 6927 | ||
+ | Confirm Verb 0.000 0.0 1 | ||
+ | EndTxn Verb 0.000 0.0 32 | ||
+ | TCP Read 29.422 198.8 148 | ||
+ | Thread Wait 0.905 904.8 1 | ||
+ | Other 0.062 0.0 0 | ||
+ | |||
+ | ----------------------------------------------------------------------------------- | ||
+ | |||
+ | Detailed Instrumentation statistics for | ||
+ | |||
+ | Thread: 5532 Elapsed time = 438.018 sec | ||
+ | |||
+ | Section Actual(sec) Average(msec) Frequency used | ||
+ | ----------------------------------------------------------------------------------- | ||
+ | Process Dirs 0.140 9.4 15 | ||
+ | Solve Tree 0.000 0.0 1 | ||
+ | Sleep 0.062 62.4 1 | ||
+ | TCP Read 0.546 39.0 14 | ||
+ | Thread Wait 437.206 950.4 460 | ||
+ | Other 0.062 0.0 0 | ||
+ | |||
+ | ----------------------------------------------------------------------------------- | ||
+ | </code> | ||
+ | |||
+ | ==== Categories ==== | ||
+ | |||
+ | ^Category^Activity^ | ||
+ | |Query Server Dirs|Receiving the server inventory directories for incremental backup| | ||
+ | |Query Server Files|Receiving the server inventory files for incremental backup| | ||
+ | |Process Dirs|Scanning for files to back up| | ||
+ | |Cache Examine|Scanning the local disk cache database for files to expire| | ||
+ | |Solve Tree|Determining directory structure| | ||
+ | |Compute|Computing throughput and compression ratio| | ||
+ | |BeginTxn Verb|Building transactions Transaction File open, close, and other miscellaneous operations| | ||
+ | |File IO|File read and write| | ||
+ | |Compression|Compressing and uncompressing data| | ||
+ | |Encryption|Encrypting and decrypting data| | ||
+ | |CRC|Computing and comparing CRC values| | ||
+ | |Data Verb|Sending and receiving data to and from the server (points to the network or IBM Spectrum Protect server)| | ||
+ | |Confirm Verb|Response time during backup for server confirm verb| | ||
+ | |EndTxn Verb|Server transaction commit and tape synchronization (points to the IBM Spectrum Protect server)| | ||
+ | |Other|Everything else that is not tracked already| | ||