<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Parallel Load - Not All Segments Used in Qlik Replicate</title>
    <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019898#M4536</link>
    <description>&lt;P&gt;Hello Sachin,&lt;/P&gt;
&lt;P&gt;My source table does not have partitions.&lt;/P&gt;
&lt;P&gt;The number of concurrent tasks is set to 10.&lt;/P&gt;
&lt;P&gt;I've used Data Ranges to define 4 parallel segments for this table.&lt;/P&gt;
&lt;P&gt;My question is: WHY DOES THE RELOAD OF THIS TABLE (which is the only table in the task) NOT ALWAYS USE ALL 4 DEFINED SEGMENTS/PROCESSES?&lt;/P&gt;
&lt;P&gt;This is a very large table (630,000,000 rows);&amp;nbsp; we are currently in the midst of the 2nd reload attempt.&lt;/P&gt;
&lt;P&gt;The first reload attempt only used 3 threads - which I could see by viewing active processes on the target SQL server.&lt;/P&gt;
&lt;P&gt;The first load attempt restarted after about 30 hours;&amp;nbsp; no error message was given.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The 2nd reload attempt which is going now has been using all 4 threads / processes for parallel load.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Other than obvious restriction of number of concurrent processes,&amp;nbsp; WHY does Replicate not always use all defined parallel load segments ?&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Martin&lt;/P&gt;</description>
    <pubDate>Mon, 26 Dec 2022 13:11:16 GMT</pubDate>
    <dc:creator>Martin11</dc:creator>
    <dc:date>2022-12-26T13:11:16Z</dc:date>
    <item>
      <title>Parallel Load - Not All Segments Used</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019822#M4533</link>
      <description>&lt;P&gt;We use he parallel load feature of Qlik Replicate for our larger tables.&lt;/P&gt;
&lt;P&gt;Our source is DB2 for LUW and target is MS SQL.&lt;/P&gt;
&lt;P&gt;I created a new task with only one table and defined 4 segments (specified 3 data range values) in Parallel Load config area.&lt;/P&gt;
&lt;P&gt;The table started loading but I could see on the SQL server side that it was only using 3 processes and not the expected 4.&lt;/P&gt;
&lt;P&gt;Is there anyway to make it use/allocate all 4 processes ?&lt;/P&gt;
&lt;P&gt;(I'd like to create 10 processes for this very large table - as it takes about 30 hours even with 4 segments.)&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Martin&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Dec 2022 02:44:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019822#M4533</guid>
      <dc:creator>Martin11</dc:creator>
      <dc:date>2022-12-26T02:44:15Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Load - Not All Segments Used</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019823#M4534</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/211925"&gt;@Martin11&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You can increase or decrease the number of segments that will be loaded in parallel. For example, if you selected the&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN class="ui_item"&gt;Use all table partitions&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;option and the source table has 20 partitions, increasing the default number of concurrent tasks (5) may improve performance.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;For example: If you select a table with 6 partitions and load the table using the&amp;nbsp;&lt;SPAN class="ui_item"&gt;Use Partitions&lt;/SPAN&gt;&amp;nbsp;method, 5 partitions will be loaded in parallel, corresponding with the default number of concurrent tasks (5). When one of the sub-tasks completes its run, it will be assigned to loading the sixth partition.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The currently set value is displayed at the bottom of the&amp;nbsp;&lt;SPAN class="ui_item"&gt;Parallel Load&lt;/SPAN&gt;&amp;nbsp;tab. You can modify this value in the&amp;nbsp;&lt;SPAN class="ui_item"&gt;Maximum number of tables to load in parallel&lt;/SPAN&gt;&amp;nbsp;field in the&amp;nbsp;&lt;A class="MCXref xref" href="https://help.qlik.com/en-US/replicate/November2022/Content/Global_Common/Content/SharedEMReplicate/Customize%20Tasks/tasks_fullLoadTunetstab.htm" target="_blank"&gt;&lt;I&gt;Full Load Tuning&lt;/I&gt;&lt;/A&gt;&amp;nbsp;tab.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Let us know in case if you need additional information.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Sachin B&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Dec 2022 02:56:59 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019823#M4534</guid>
      <dc:creator>SachinB</dc:creator>
      <dc:date>2022-12-26T02:56:59Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Load - Not All Segments Used</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019898#M4536</link>
      <description>&lt;P&gt;Hello Sachin,&lt;/P&gt;
&lt;P&gt;My source table does not have partitions.&lt;/P&gt;
&lt;P&gt;The number of concurrent tasks is set to 10.&lt;/P&gt;
&lt;P&gt;I've used Data Ranges to define 4 parallel segments for this table.&lt;/P&gt;
&lt;P&gt;My question is: WHY DOES THE RELOAD OF THIS TABLE (which is the only table in the task) NOT ALWAYS USE ALL 4 DEFINED SEGMENTS/PROCESSES?&lt;/P&gt;
&lt;P&gt;This is a very large table (630,000,000 rows);&amp;nbsp; we are currently in the midst of the 2nd reload attempt.&lt;/P&gt;
&lt;P&gt;The first reload attempt only used 3 threads - which I could see by viewing active processes on the target SQL server.&lt;/P&gt;
&lt;P&gt;The first load attempt restarted after about 30 hours;&amp;nbsp; no error message was given.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The 2nd reload attempt which is going now has been using all 4 threads / processes for parallel load.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Other than obvious restriction of number of concurrent processes,&amp;nbsp; WHY does Replicate not always use all defined parallel load segments ?&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Martin&lt;/P&gt;</description>
      <pubDate>Mon, 26 Dec 2022 13:11:16 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019898#M4536</guid>
      <dc:creator>Martin11</dc:creator>
      <dc:date>2022-12-26T13:11:16Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Load - Not All Segments Used</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019935#M4537</link>
      <description>&lt;P&gt;Occam's razor suggests that in fact it did start 4 threads but one failed or thought it was done.&lt;/P&gt;
&lt;P&gt;Carefully study the reptask log file for started/completed and rows transferred messages.&lt;/P&gt;
&lt;P&gt;Hint... once you start recognizing good per-thread search words, use 'find all' (Notepad++) or similar to see all 4 (or 3 &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; and also do some find all using the load/unload thread number which you'll find as the first number on each log line before the timestamp. Using that you'll get a good picture of the steps to expect.&lt;/P&gt;
&lt;P&gt;Maybe one of the 4 filters was incorrect or selected a much smaller dataset and it is simply done?&lt;/P&gt;
&lt;P&gt;Hein.&lt;/P&gt;</description>
      <pubDate>Mon, 26 Dec 2022 18:45:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2019935#M4537</guid>
      <dc:creator>Heinvandenheuvel</dc:creator>
      <dc:date>2022-12-26T18:45:21Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Load - Not All Segments Used</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2020057#M4541</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/211925"&gt;@Martin11&lt;/a&gt;&amp;nbsp;, copy&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/110970"&gt;@Heinvandenheuvel&lt;/a&gt;&amp;nbsp;,&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/141158"&gt;@SachinB&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;I'm not very sure how you monitor the processes in SQL Server side, however in my labs test, I can see the maximum 5 processes (SPID=67/74/76/78/80) running concurrently (total 4 segments defined in table setting; 5 different unload SQL are running), see the script and screen copy below.&lt;/P&gt;
&lt;P&gt;BTW, some factors may impact the max processes, eg the max connections allowed, or other resource limitation etc. You may set SOURCE_UNLOAD to Trace and study the task log file to see if some clues there.&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;SELECT 
    p.spid, p.status, p.hostname, p.loginame, p.cpu, r.start_time, r.command, 
    p.program_name, text  
FROM 
    sys.dm_exec_requests AS r, 
    master.dbo.sysprocesses AS p  
    CROSS APPLY sys.dm_exec_sql_text(p.sql_handle) 
WHERE 
    p.status NOT IN ('sleeping', 'background')  
AND r.session_id = p.spid &lt;/LI-CODE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="john_wang_0-1672146256762.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/96926i2F4E1B085D10BE85/image-size/medium?v=v2&amp;amp;px=400" role="button" title="john_wang_0-1672146256762.png" alt="john_wang_0-1672146256762.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="john_wang_1-1672146282562.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/96927iDC3D07F3ACE3099D/image-size/medium?v=v2&amp;amp;px=400" role="button" title="john_wang_1-1672146282562.png" alt="john_wang_1-1672146282562.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;John.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Dec 2022 13:07:25 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2020057#M4541</guid>
      <dc:creator>john_wang</dc:creator>
      <dc:date>2022-12-27T13:07:25Z</dc:date>
    </item>
    <item>
      <title>Re: Parallel Load - Not All Segments Used</title>
      <link>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2020396#M4550</link>
      <description>&lt;P&gt;Thanks all,&amp;nbsp; I'll try these out.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Dec 2022 16:42:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Qlik-Replicate/Parallel-Load-Not-All-Segments-Used/m-p/2020396#M4550</guid>
      <dc:creator>Martin11</dc:creator>
      <dc:date>2022-12-28T16:42:48Z</dc:date>
    </item>
  </channel>
</rss>

