forked from docs/doc-exports
Reviewed-by: Pruthi, Vineet <vineet.pruthi@t-systems.com> Co-authored-by: Lu, Huayi <luhuayi@huawei.com> Co-committed-by: Lu, Huayi <luhuayi@huawei.com>
17 lines
3.5 KiB
HTML
17 lines
3.5 KiB
HTML
<a name="EN-US_TOPIC_0000001188163756"></a><a name="EN-US_TOPIC_0000001188163756"></a>
|
|
|
|
<h1 class="topictitle1">Resource Impact on SMP Performance</h1>
|
|
<div id="body8662426"><p id="EN-US_TOPIC_0000001188163756__afa40df1d4d604ae4aebfb833199f1aac">The SMP architecture uses abundant resources to obtain time. After the plan parallelism is executed, the resource consumption is added, including the CPU, memory, I/O, and network bandwidth resources. As the parallelism degree is expanded, the resource consumption increases. If these resources become a bottleneck, the SMP cannot improve the performance and the overall cluster performance may be deteriorated. Adaptive SMP is provided to dynamically select the optimal parallel degree for each query based on the resource usage and query requirements. The following information describes the situations that the SMP affects theses resources:</p>
|
|
<ul id="EN-US_TOPIC_0000001188163756__u86653b88fa3f42dd8cfe84150c4bd7cf"><li id="EN-US_TOPIC_0000001188163756__lbfb55a92fec84986bafd69511f5ade3f"><strong id="EN-US_TOPIC_0000001188163756__b84235270671235">CPU resources</strong><p id="EN-US_TOPIC_0000001188163756__a3573f3f75230451db7a882ba2083d37b">In a general customer scenario, the system CPU usage rate is not high. Using the SMP parallelism architecture will fully use the CPU resource to improve the system performance. If the number of CPU kernels of the database server is too small and the CPU usage is already high, enabling the SMP parallelism may deteriorate the system performance due to resource compete between multiple threads.</p>
|
|
</li><li id="EN-US_TOPIC_0000001188163756__l80266f62055644bfb9b022ab8c6eebc3"><strong id="EN-US_TOPIC_0000001188163756__b84235270671247">Memory resources</strong><p id="EN-US_TOPIC_0000001188163756__a3d68bd4442214ca68e350148edbb2aa2">The query parallel causes memory usage growth, but the memory upper limit used by each operator is still restricted by <strong id="EN-US_TOPIC_0000001188163756__b84235270622033">work_mem</strong>. Assume that <strong id="EN-US_TOPIC_0000001188163756__b129171320683">work_mem</strong> is 4 GB, and the degree of parallelism is 2, then the memory upper limit of each concurrent thread is 2 GB. When <strong id="EN-US_TOPIC_0000001188163756__b84235270622154">work_mem</strong> is small or the system memory is sufficient, running SMP parallelism may push data down to disks. As a result, the query performance deteriorates.</p>
|
|
</li><li id="EN-US_TOPIC_0000001188163756__l72d1ad3215fc4a06a19c08e426c2f665"><strong id="EN-US_TOPIC_0000001188163756__aebd96b18f8ee410099b42a2669d53231">Network bandwidth resources</strong><p id="EN-US_TOPIC_0000001188163756__abceb051d0c844ac791152c5b39a6fc7a">To execute a query in parallel, data exchange operators are added. Local Stream operators exchange data between threads within a DN. Data is exchanged in memory and network performance is not affected. Non-Local operators exchange data over the network and increase network load. If the capacity of a network resource becomes a bottleneck, parallelism may also increase the network load.</p>
|
|
</li><li id="EN-US_TOPIC_0000001188163756__l2a0d2227a00345fa81569486cecea66f"><strong id="EN-US_TOPIC_0000001188163756__b84235270671541">I/O resources</strong><p id="EN-US_TOPIC_0000001188163756__a1b44cfcd1ff74ab3b64d3856f34504e6">A parallel scan increases I/O resource consumption. It can improve performance only when I/O resources are sufficient.</p>
|
|
</li></ul>
|
|
</div>
|
|
<div>
|
|
<div class="familylinks">
|
|
<div class="parentlink"><strong>Parent topic:</strong> <a href="dws_04_0420.html">Configuring SMP</a></div>
|
|
</div>
|
|
</div>
|
|
|