Use the following procedure to identify and remedy CPU hardware bottlenecks on the appliance. Based on the results of two analytic datasets, suggested corrective actions are provided to increase data throughput.
hostname:analytics worksheets> select worksheet-000 hostname:analytics worksheet-000> dataset
hostname:analytics worksheet-000 dataset (uncommitted)> set name=cpu.utilization name = cpu.utilization hostname:analytics worksheet-000 dataset (uncommitted)> commit
hostname:analytics worksheet-000> dataset
hostname:analytics worksheet-000 dataset (uncommitted)> set name=cpu.utilization[cpu] name = cpu.utilization[cpu] hostname:analytics worksheet-000 dataset (uncommitted)> commit
hostname:analytics worksheet-000> done hostname:analytics worksheets> done
hostname:> analytics datasets
hostname:analytics datasets> show Datasets: DATASET STATE INCORE ONDISK NAME dataset-000 active 1.27M 15.5M arc.accesses[hit/miss] dataset-001 active 517K 9.21M arc.accesses[hit/miss=metadata hits][L2ARC eligibility] ... dataset-005 active 290K 7.80M cpu.utilization hostname:analytics datasets>
In this example, dataset name cpu.utilization corresponds to dataset-005.
hostname:analytics datasets> select dataset-005
If the appliance CPUs reach 100% utilization for more than 15 minutes, you should consider adding more CPUs or upgrading to faster CPUs.
hostname:analytics dataset-005> read 900 ... hostname:analytics dataset-005> done
hostname:analytics datasets> show Datasets: DATASET STATE INCORE ONDISK NAME dataset-000 active 1.27M 15.5M arc.accesses[hit/miss] dataset-001 active 517K 9.21M arc.accesses[hit/miss=metadata hits][L2ARC eligibility] ... dataset-006 active 290K 7.80M cpu.utilization[cpu] hostname:analytics datasets>
In this example, dataset name cpu.utilization[cpu] corresponds to dataset-006.
hostname:analytics datasets> select dataset-006
hostname:analytics dataset-006> read 900 ... hostname:analytics dataset-006> done
A single CPU core operating at 100% utilization while the others are relatively idle is a likely indication of a single-threaded and/or single-client workload. Consider dividing your workload among multiple clients, or investigate a multi-threaded implementation of your client application to better utilize the many CPU cores offered by other controller models.