{\rtf1\ansi\deflang1024\deff0{\fonttbl{\f0\froman Times Roman;}{\f1\fnil Times;}{\f2\fnil Courier Swa;}{\f3\fnil New Century Schoolbook;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red127\green127\blue127;}{\stylesheet{\fi-360\li360\ri360 \f1\fs24\cf1 \snext0 Normal;}{\s1\fi-360\li360\ri360\tx360 \f1\fs24\cf1 \sbasedon0\snext1 Bullet;}{\s2\li360\ri360\tx360 \f1\fs24\cf1 \sbasedon0\snext2 BulletPara;}{\s3 \f1\fs24\cf1 \sbasedon0\snext3 Cell;}{\s4\fi-360\li1800\ri360 \f2\fs24\cf1 \sbasedon0\snext4 Code;}{\s5\keepn \f1\fs16\cf1 \sbasedon0\snext5 Footer;}{\s6\fi-360\li360\ri360 \f1\fs24\cf1 \sbasedon0\snext6 Footnote;}{\s7\fi-360\li360\ri360\tqc\tx5040\tqr\tx10080\tqr\tx13680 \f1\fs24\cf1 \sbasedon0\snext7 HdrFtr;}{\s8\keepn \fi-360\li360\ri360 \b\f1\fs24\cf1 \sbasedon0\snext8 Heading;}{\s9\qj\keepn\sa144 \b\f1\fs24\cf1 \snext9 Heading1;}{\s10\keepn\fi-360\li360 \b \sbasedon9\snext10 Heading2;}{\s11\fi-360\li360\ri360 \f1\fs24\cf1 \sbasedon0\snext11 TOC;}{\s12\li720\tx0 \tqr\tldot\tx9637 \f1\fs24\cf1 \sbasedon11\snext12 TOC-Heading1;}{\s13\fi-360\li360\ri360\tqr\tldot\tx9637 \f1\fs24\cf1 \sbasedon11\snext13 TOC-Heading2;}{\s14\fi-360\li360\ri360\tx0\tqr\tldot\tx9637 \f1\fs24\cf1 \sbasedon11\snext14 TOC-Normal;}{ \s15\fi-360\li360\ri360\tx0\tqr\tldot\tx9637 \f1\fs24\cf1 \sbasedon11\snext15 TOC-TOC;}{\s16\fi-360\li360\ri360\tqr\tldot\tx9637 \f1\fs24\cf1 \sbasedon11\snext16 TOC-TOC-Heading1;}{\s17\fi-360\li360\ri360\tqr\tldot\tx9637 \f1\fs24\cf1 \sbasedon11 \snext17 TOC-TOC-Heading2;}{\s18\fi-360\li360\ri360 \ul\f1\fs24\cf2 \sbasedon0\snext18 html_hyperlink_text;}{\s19\qj\fi-468\li468\sa144\tqdec\tx269 \f1\fs24\cf1 \snext19 NumList;}{\s20\li468\tx360 \sbasedon19\snext20 NumListPara;}{\s21\fi-468\li468 \tqdec\tx269 \sbasedon19\snext21 NumListStart;}{\s22\qj\li720\sa144 \f1\fs24\cf1 \sbasedon0\snext22 Paragraph;}{\s23\keepn\fi-360\li360\ri360 \b\f1\fs28\cf1 \sbasedon8\snext23 Sub-heading;}} {\info{\title ax00185f.aw}{\author sms}{\doccomm Created by ApplixWare Release 4.41 (build 1021.211.13) #17 RTF Export Filter}} \paperw11904\paperh16836\margl1133\margr1133\margt1416\margb1416\widowctrl\ftnbj\sectd\marglsxn1133\margrsxn1133\margtsxn1416\margbsxn1416\pgwsxn11904\pghsxn16836\pghsxn16836\sbknone\headery360\footery360\endnhere\titlepg{\headerf \trowd \cellx2612 \cellx6695\cellx8474\cellx9638\pard\plain \s3\qc\li144\ri54\intbl \f1\fs24\cf1 {\f3\cf3 Pentagon Computer Consultants Ltd.}\cell \pard\plain \s3\qc\li-36\ri54\intbl \f1\fs24\cf1 \cell \pard\plain \s3\qr\li-36\ri54\intbl \f1\fs24\cf1 \cell \pard \plain \s3\qr\li54\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s7\fi-360\li360\ri360\tqc\tx5040\tqr\tx10080\tqr\tx13680 \f1\fs24\cf1 \par }{\header \pard\plain \s7\fi-360\li360\ri360\tqc\tx5040\tqr\tx10080\tqr\tx13680 \f1\fs24\cf1 \par \trowd \clbrdrb\brdrs\brdrcf1\brdrw38 \cellx2612\clbrdrb\brdrs\brdrcf1\brdrw38 \cellx6695\clbrdrb\brdrs\brdrcf1\brdrw38 \cellx8474\clbrdrb\brdrs\brdrcf1\brdrw38 \cellx9638\pard\plain \s3\qc\li144\ri54\intbl \f1\fs24\cf1 {\f3\cf3 Pentagon Computer Consultants Ltd.}\cell \pard\plain \s3\qc\li-36\ri54\intbl \f1\fs24\cf1 {\b\fs28 System Performance Tests}\cell \pard\plain \s3\qr\li-36\ri54\intbl \f1\fs24\cf1 Version: \par Page:\cell \pard\plain \s3\qr\li54\ri144\intbl \f1\fs24\cf1 2 \par {\field{\fldinst PAGE}{\fldrslt}} of {\field{\fldinst NUMPAGES}{\fldrslt 1}}\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s7\fi-360\li360\ri360\tqc\tx5040\tqr\tx10080\tqr\tx13680 \f1\fs24\cf1 \par \par \par }{\footerf \trowd \clbrdrt\brdrs\brdrcf1\brdrw38 \cellx4818\clbrdrt\brdrs\brdrcf1\brdrw38 \cellx9636\pard\plain \s5\keepn\li54\ri144\intbl \f1\fs16\cf1 {Ref:}{/home/sms/docs/performance/plan.aw} \par {\'a9Copyright 1999-}{2001}{ Pentagon Computer Consultants Ltd.}\cell \pard\plain \s3\qr\li144\ri54\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s5\keepn \f1\fs16\cf1 \par }{\footer \trowd \clbrdrt\brdrs\brdrcf1\brdrw38 \cellx4818\clbrdrt\brdrs\brdrcf1\brdrw38 \cellx9636\pard\plain \s5\keepn\li54\ri144\intbl \f1\fs16\cf1 {Ref:}{/home/sms/docs/performance/plan.aw} \par \pard\plain \s5\keepn\li54\ri144\intbl \f1\fs16\cf1 {\'a9Copyright 1999-}{2001}{ Pentagon Computer Consultants Ltd.}\cell \pard\plain \s3\qr\li144\ri54\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s5\keepn \f1\fs16\cf1 \par }\pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 \par \par \par \trowd \cellx1869\cellx8000\pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 {\b\fs36 System Performance Tests}\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144 \ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144 \intbl \f1\fs24\cf1 Author:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Stewart M. Smith\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Reference:\cell \pard\plain \s3\li144\ri144 \intbl \f1\fs24\cf1 /home/sms/docs/performance/plan.aw\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Version:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 2\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Date:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 2nd January 2001\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144 \ri144\intbl \f1\fs24\cf1 Pages:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 {\field{\fldinst NUMPAGES}{\fldrslt 1}}\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Status:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Final\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360 \ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \trowd \cellx1869\cellx7987\pard\plain \s3\li144\ri144 \intbl \f1\fs24\cf1 Abstract:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 The search for system performance problems is sometimes a daunting task. These notes describe a series of tests that can help you find what you are looking for.\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s9\qj\keepn\sa144 \b\f1\fs24\cf1 \page 0.\tab Document Control \par \pard\plain \s10\keepn \b 0.1.\tab Contents List \par \pard\plain \s12\li720\tx0\tqr\tldot\tx9637 \f1\fs24\cf1 0. Document Control\tab 2 \par 1. Introduction \tab 3 \par 2. Configuration Tests\tab 4 \par 3. Idle Tests\tab 5 \par 4. Load Tests\tab 6 \par 5. Other Ideas\tab 9 \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 \par \pard\plain \s10\keepn \b 0.2.\tab Document History \par \trowd \trleft717 \cellx1575\cellx9639\pard\plain \s3\li54\ri144\intbl \f1\fs24\cf1 1.0\cell \pard\plain \s3\li54\ri144\intbl \f1\fs24\cf1 First version.\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li54\ri144 \intbl \f1\fs24\cf1 2.0\cell \pard\plain \s3\li54\ri144\intbl \f1\fs24\cf1 Change classification to unclassified for distribution on WWW.\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 \par \pard\plain \s10\keepn\fi-360\li360 \b 0.3.\tab Changes Forecast \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 No document changes are forecast. \par \pard\plain \s10\keepn\fi-360\li360 \b 0.4.\tab Document Cross References \par \trowd \trleft717 \cellx1575\cellx2932\cellx9626\pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 1\cell \pard\plain \s3\li54\ri54\intbl \f1\fs24\cf1 Title:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 System Performance Tuning\cell \pard \plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li54\ri54\intbl \f1\fs24\cf1 Author:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Mike Loukides\cell \pard\plain \fi-360 \li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li54\ri54\intbl \f1\fs24\cf1 Publishers:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 O'Reilly & Associates\cell \pard\plain \fi-360 \li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li54\ri54\intbl \f1\fs24\cf1 ISBN:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 0-937175-60-9\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li54\ri54\intbl \f1\fs24\cf1 \cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 \cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s3 \li144\ri144\intbl \f1\fs24\cf1 2\cell \pard\plain \s3\li54\ri54\intbl \f1\fs24\cf1 Title:\cell \pard\plain \s3\li144\ri144\intbl \f1\fs24\cf1 Unix man pages.\cell \pard\plain \fi-360\li360\ri360\intbl \f1\fs24\cf1 \row \pard\plain \s22\qj\li720 \sa144 \f1\fs24\cf1 \par \pard\plain \s10\keepn \b 0.5.\tab Terms \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 No unusual terms are used in this document. \par \pard\plain \s10\keepn \b 0.6.\tab Abbreviations \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 No unusual abbreviations are used in this document. \par \pard\plain \s9\qj\keepn\sa144 \b\f1\fs24\cf1 \page 1.\tab Introduction \par \pard\plain \s10\keepn\fi-360\li360 \b 1.1.\tab Purpose \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 I once had to investigate system performance problems on a customer site. As often happens, I was given very little time to do this and I could only spend about a day on-site. At the time, I knew very little about the subject so I looked for some guidance. I found it in Mike Loukides' excellent book (Ref 1). \par I spent a day or so reading Ref 1. As I could only spend a short time on-site, I had to know what I was going to do beforehand. So I wrote a plan. As the exercise was very successful I have distilled the plan into this document in case I have to perform a similar exercise in the future. \par \pard\plain \s10\keepn\fi-360\li360 \b 1.2.\tab Scope \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 This plan should be useful to you if you have to a Unix system with performance problems. Variants of Unix System V are covered. The plan is intended to complement Ref 1. \par \pard\plain \s10\keepn\fi-360\li360 \b 1.3.\tab The Plan \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The plan is a simple one. To gather a lot of data quickly and then go away and study the data that we have collected. The tests described in this plan can be performed easily within one working day. If you have sufficient time before your site visit then you may want to prepare some shell scripts that run the tests and save the results. \par \pard\plain \s10\keepn\fi-360\li360 \b 1.4.\tab The Tests \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The tests are divided into three groups. \par The {\b configuration tests} determine the configuration of the system under test. When you consider how to solve the performance problems it will be useful to know what resources are currently in use. \par The {\b idle tests} determine some baseline performance figures. These tests are performed when Unix is running but there is no user or application activity. When you come to review the performance data it will be useful to compare the data from the idle tests with the data from the load tests. \par The {\b load tests} are performed while the system is doing its normal work. At this point the system should be performing badly. \par The load tests should include some tests that you devise yourself. Base these on your client's reports. It is important to know when you have fixed the problems. Measure the features that your client describes as slow. When you have fixed the problem, you can measure these features again so that you can demonstrate the system improvements. \par \pard\plain \s10\keepn\fi-360\li360 \b 1.5.\tab SAR \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Most of the tests described in this document make use of the Unix {\f2 sar(1)} command. This is available to {\f2 root} on most variants of Unix System V. Read the {\f2 man} page for {\f2 sar} before you start testing. \par For each test you should run {\f2 sar} for at least two minutes. Save the results to a file and then study the results later. \par \pard\plain \s9\qj\keepn\sa144 \b\f1\fs24\cf1 \page 2.\tab Configuration Tests \par \pard\plain \s10\keepn\fi-360\li360 \b 2.1.\tab Purpose \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The configuration tests establish the configuration of the system. \par \pard\plain \s10\keepn\fi-360\li360 \b 2.2.\tab Memory Size \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Look at the file: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 /var/adm/messages \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Check that the amount of total real memory agrees with what you expect. \par \pard\plain \s10\keepn\fi-360\li360 \b 2.3.\tab Disc Size \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run the following Unix commands: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 prtvtoc /dev/rdsk/0s0 \par mount \par df -k \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Save the results for later in case we have to look for more swap space. \par \pard\plain \s10\keepn\fi-360\li360 \b 2.4.\tab Swap Size \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 swap -l \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Save the results. This records the amount of space. \par \pard\plain \s9\qj\keepn\sa144 \b\f1\fs24\cf1 \page 3.\tab Idle Tests \par \pard\plain \s10\keepn\fi-360\li360 \b 3.1.\tab Purpose \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The idle tests are run when no applications are running and no users are active. These tests establish some baseline values. \par \pard\plain \s10\keepn\fi-360\li360 \b 3.2.\tab Tests \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run the following Unix commands: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -q \par sar -u \par sar -w \par sar -p \par sar -r \par sar -d \par sar -b \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Save these results for comparison with later results. \par \pard\plain \s9\qj\keepn\sa144 \b\f1\fs24\cf1 \page 4.\tab Load Tests \par \pard\plain \s10\keepn\fi-360\li360 \b 4.1.\tab Purpose \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The load tests are performed while the system is processing a normal work-load and performing badly. \par \pard\plain \s10\keepn\fi-360\li360 \b 4.2.\tab Run Queue \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -q \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The value of the run queue should not exceed 2 (Ref 1, pp16). Generally, a higher value indicates an underpowered CPU. \par \pard\plain \s10\keepn\fi-360\li360 \b 4.3.\tab Processes Accounting \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Process accounting will not be used (see Section 5.). However, if it is already set up, the logs will be saved for later examination. \par Take a copy of all the files in: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 /usr/adm/acct/sum \par \par \pard\plain \s10\keepn\fi-360\li360 \b 4.4.\tab Processes \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 ps -elf | pg \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Look for several copies of the same program running. Is all as expected? \par Look for processes with large SZ values. Is there a memory leak? \par Take a copy of the output for later review. This information can be used to determine how much memory is required and which processes are the biggest users. \par \pard\plain \s10\keepn\fi-360\li360 \b 4.5.\tab Idle Time \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -u \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 If the idle time is greater than 25% then the processor is probably OK (Ref: 1, pp27). \par If the wait time is significant the system is I/O bound (Ref: 1 pp28). The system is not doing anything while waiting so a high wait time will reduce the idle time. \par \pard\plain \s10\keepn\fi-360\li360 \b 4.6.\tab File System Overflow \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -v \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 If the fail value is ever greater than zero then some kernel tuning may be required (Ref: 1, pp80). \par \pard\plain \s10\keepn\fi-360\li360 \b 4.7.\tab Swapping Activity \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -w \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 It is the number of swap-outs that are important. Ideally, this should be zero. The occasional non-zero value would show the system hitting a peak memory usage. If this is frequently non-zero then the system is short of memory (Ref: 1, pp94). \par Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -r \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 This output is a bit confusing. I think it is due to a difference between pages and blocks. See Ref: 1, pp119. \par Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 swap -l \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 If there is less than 50% swap space free then it is not big enough (Ref: 1, pp119). \par \pard\plain \s10\keepn\fi-360\li360 \b 4.8.\tab Paging Activity \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -p \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 If the number of address translation faults exceeds 15 per second then the system is short of memory (Ref: 1, pp95). \par Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -g \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The number of page out requests should be zero, otherwise the system is paging, indicating a shortage of memory. Also, the number of pages scanned and the number of pages freed should be less than 5, otherwise we are short of memory (Ref: 1, pp6). \par \pard\plain \s10\keepn\fi-360\li360 \b 4.9.\tab Disc Usage \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar -d \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 I don't have any figures for what's good and what's bad. \par \pard\plain \s10\keepn\fi-360\li360 \b 4.10.\tab Caching \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Run: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 sar b \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 If the number of reads satisfied by the cache is less than 90% or the number of writes satisfied by the cache is less than 65% the buffer cache should be increased. However, this may not be possible if the system is short of memory. See Ref: 1, pp164. We also need to consider the effects of the cache on the security of the data. \par \pard\plain \s10\keepn\fi-360\li360 \b 4.11.\tab Use the System \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 This section has to be vague in a general purpose document. Take measurements that can be used to show how much you have improved the system. How long does it take to login? How long does it take to transfer a file? \par \pard\plain \s10\keepn\fi-360\li360 \b 4.12.\tab Logs \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Look in: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 /var/adm/messages \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Look for messages indicating a performance problem. \par \pard\plain \s9\qj\keepn\sa144 \b\f1\fs24\cf1 \page 5.\tab Other Ideas \par \pard\plain \s10\keepn\fi-360\li360 \b 5.1.\tab Introduction \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 There are other steps that we could take to measure performance. I've listed some of these below. These ideas may be useful later in the investigation. \par \pard\plain \s10\keepn\fi-360\li360 \b 5.2.\tab Process Accounting \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 Process accounting (sa) gives details of which programs have been run, how many times and how much CPU time they have used. \par Process accounting takes some time to setup and can also affect system performance. For these reasons, I don't propose using this utility during the initial investigation. \par \pard\plain \s10\keepn\fi-360\li360 \b 5.3.\tab Automatic System Activity Reporting \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The sar utility can be set up to report continually. I don't propose that this should be done for initial testing as it can take some time to setup. \par \pard\plain \s10\keepn\fi-360\li360 \b 5.4.\tab System Calls \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 The number of system calls used by a process can be shown using: \par \pard\plain \s4\fi-360\li1800\ri360 \f2\fs24\cf1 truss -c \par \par \pard\plain \s22\qj\li720\sa144 \f1\fs24\cf1 This can be used to show the efficiency of individual programs. \par Performance problems found with truss will require a change to the program. \par }