Intel® VTune™ Amplifier XE and Intel® VTune™ Amplifier for Systems Help
Use Storage Performance Snapshot to quickly analyze how effectively a workload uses the available storage, CPU, memory, and network.
This is a PREVIEW FEATURE. A preview feature may or may not appear in a future production release. It is available for your use in the hopes that you will provide feedback on its usefulness and help determine its future. Data collected with a preview feature is not guaranteed to be backward compatible with future releases. Please send your feedback to Intel-Performance-Snapshot-Feedback@intel.com.
The Storage Performance Snapshot tool analyzes your Linux* or Windows* system's storage, CPU, memory, and network usage and displays basic performance enhancement opportunities for systems using Intel® hardware. Storage Snapshot provides a first look at system performance and can be used to determine if additional analysis is required.
When running a continuous workload, which is often the case for systems in a data center, it is important to minimize the time spent waiting for tasks to complete. Storage Performance Snapshot analyzes the operating system traces for high-level utilization of the system resources, including context switch, memory utilization, and network utilization. The tool uses this data to identify when the system is idle or has threads that are waiting for information to arrive from storage. On Linux systems, Storage Performance Snapshot uses dstat to gather this information. On Windows systems, Storage Performance Snapshot uses Windows PowerShell* scripts to gather this information from the Windows performance counters.
Storage Performance Snapshot is available as a free product download from the Intel® Developer Zone and is also available pre-installed as part of Intel® Parallel Studio, Intel® System Studio, and Intel® VTune™ Amplifier.
To get the free collector download:
If you have Storage Performance Snapshot installed as part of Intel Parallel Studio, Intel System Studio, or Intel VTune Amplifier, you can find the Storage Performance Snapshot files in one of the following locations:
Installed with Intel Parallel Studio or Intel VTune Amplifier XE:
Windows: C:\Program Files (x86)\IntelSWTools\VTune Amplifier XE\storage_snapshot
Linux: /opt/intel/vtune_amplifier_xe_<version>/storage_snapshot
Installed with Intel System Studio or Intel VTune Amplifier for Systems:
Windows: C:\Program Files (x86)\IntelSWTools\VTune Amplifier for Systems\storage_snapshot
Linux: /opt/intel/system_studio_<version>/vtune_amplifier_for_systems/storage_snapshot
You need to extract the collector files to the system you want to monitor. The collector files are in the download-kits directory.
Identify a typical workload for the system under analysis. Systems in a data center or those running a continuous workload could use a sample time period.
Collect data.
If this is the first time you are running the analysis, make sure your system meets the prerequisites listed in the readme file.
On Linux*:
Open a command prompt.
Run the sps-start.sh script to begin collecting data.
The collected data is added to a <hostname>_<timestamp>.dat file in the current directory.
Run the sps-stop.sh script to stop collecting data and close the result file.
On Windows*:
In Windows Explorer, right-click the sps-vars.cmd script and select Run as administrator. A command prompt with Administrative privileges opens and runs the script to sets up the data collection environment. Alternatively, run "<install-dir>\sps-vars.cmd" from a command prompt with Administrative privileges.
You may need to change your PowerShell execution policy to RemoteSigned before running the Storage Performance Snapshot scripts. Additional information on PowerShell execution policies and how to manage them is available from https://technet.microsoft.com/library/hh847748.aspx.
Run the sps-start.cmd script to begin collecting data.
Run the sps-stop.cmd script to stop collecting data.
The collected data is added to a <hostname>_<timestamp>.dat file in the current directory.
View the report in a supported web browser.
If the offline viewer is installed on your local system, open the <install-dir>/storage_snapshot/index.html file.
If the offline viewer is not installed on your local system, go to the main page for the Storage Performance Snapshot tool in your web browser: http://www.intel.com/storage-snapshot.
A list of supported browser versions is available from the index.html page.
Click Select snapshot file to view.
Browse to the .dat result file and click Open.
The results are displayed in your browser. Results remain local to your system and are not uploaded to Intel servers.
Analyze the data shown in the report.
Determine appropriate next steps based on result analysis. Common next steps may include working with a system analyst to evaluate the results, reviewing user forum posts or creating your own post to discuss your findings, or conducting additional analysis with Intel® VTune™ Amplifier. A user forum for all Intel Performance Snapshot tools is available from https://software.intel.com/en-us/forums/intel-performance-snapshot.
Cache: Data stored so future requests for the same data are more efficient. RAM is used to speed up disk operations by using memory for buffers (file system metadata) and cache (pages with actual file contents or block devices). System performance is improved because disk information is already available in memory, which reduces the number of I/O operations. When space is needed by a program, the information in buffers and cache is reduced to yield memory for the application. The operating system may fill the unused memory for items deemed as important, which leads to a high cache utilization. A high cache utilization shows you the amount of memory that your processes can claim without impacting system performance.
Committed Memory: Commit charge (also known as commit size) is the total amount of virtual memory that an application has committed during the current session. This includes memory that was paged out of physical memory to the disk-backed page file. The Committed value listed in Storage Performance Snapshot represents the sum of memory and physical memory for all processes (individual commit charge values) and the kernel.
CPU Idle: The time that the CPU is not being used by any program.
CPU I/O Wait (Linux only): The percentage of time that the CPU spent idle (for example, an application is unable to do useful work) because all tasks that could be run were waiting for an IO operation to be fulfilled. A larger I/O Wait value indicates a larger opportunity for faster storage to be effective. In a multi-core system, determining why a thread is idle could be one of the following reasons, which can be determined by looking at the CPU Idle values for the same time period:
The thread is idle due to networking bottlenecks or load imbalance. In this case, improving storage performance will not improve application performance.
The thread is blocked behind threads waiting for IO on another core. In this case, improving storage performance may translate to improved application performance.
Latency: Storage or disk latency refers to the time delay between a request for data and the return of the data, including time spent waiting in the queue. Optimizing this time can be critical to system performance.
Queue Depth: Storage or disk queue depth is the number of pending input/output requests for a storage device.
Throughput: Disk throughput or data transfer rate (sometimes referred to as bandwidth) is the speed at which data is transferred from the disk to the requestor or the requestor to the disk.