<?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: Load+Concurrency Testing Utility in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259307#M212437</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;As far as I glanced over the code for the test client, it attempts to create / delete a file in one and the same folder through concurrent clients. This of course is bound to run into synchronisation issues on the database, as all concurrent clients attempt to modify the child associations of the folder at the same time. The more clients attempt this, the longer the "waiting line" in the database locking mechanism, which directly translates in to the linear increase in time / document.&lt;BR /&gt;&lt;BR /&gt;To really test concurrent usage / load, tests should aim to realistically distribute content manipulation over a wide range of the content hierarchy and not be confined to selected subtrees. The Alfresoc remote BM e.g. distributes across content stores and multi-layered folder structures.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;This is great feedback, thanks! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm fairly sure the majority of the time for the test comes from the increments to the metadata/content, not creation/deletion of the documents.&amp;nbsp; Regardless, I have tagged version 1.1, where each client now creates/increments/deletes files within it's own folder created underneath the main test folder.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think the test still being rooted in the same subtree should have any real impact, as &lt;/SPAN&gt;&lt;EM&gt;everything&lt;/EM&gt;&lt;SPAN&gt; ultimately shares one root folder anyhow, all just being nodes and relationship rows in the database, regardless of path within the repository.&amp;nbsp; I'm hoping the additional node of separation should provide enough isolation between each client to ensure child-associations aren't a potential issue now.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That said, with these changes in place, I experienced no appreciable difference in runtime using 10 clients &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Apr 2012 20:06:38 GMT</pubDate>
    <dc:creator>hubick</dc:creator>
    <dc:date>2012-04-18T20:06:38Z</dc:date>
    <item>
      <title>Load+Concurrency Testing Utility</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259304#M212434</link>
      <description>Hi,I have created a small CMIS based utility for performing load and concurrency testing.You can find the code at: https://github.com/hubick/au-cms-util-test-concurrencyThis test creates a number of simultaneous CMIS clients, where each creates a document, repeatedly increments a number in the title</description>
      <pubDate>Wed, 18 Apr 2012 00:18:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259304#M212434</guid>
      <dc:creator>hubick</dc:creator>
      <dc:date>2012-04-18T00:18:12Z</dc:date>
    </item>
    <item>
      <title>Re: Load+Concurrency Testing Utility</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259305#M212435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;We are just building a new 2-node 64-bit Intel+RHEL6 server each w 64GB RAM using Alfresco Enterprise 3.3.5 and PostgreSQL.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;We haven't done much performance tuning yet, but the following are the current numbers using 2, 5, 10 (default), and 20 concurrent clients:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Concurrency test completed, with 2 concurrent clients spread across 2 servers, each client performing 5 increments to each of 20 documents in a total of 93 seconds (average 4.6 seconds/document).&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Concurrency test completed, with 5 concurrent clients spread across 2 servers, each client performing 5 increments to each of 20 documents in a total of 211 seconds (average 10.6 seconds/document).&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Concurrency test completed, with 10 concurrent clients spread across 2 servers, each client performing 5 increments to each of 20 documents in a total of 383 seconds (average 19.1 seconds/document).&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Concurrency test completed, with 20 concurrent clients spread across 2 servers, each client performing 5 increments to each of 20 documents in a total of 801 seconds (average 40.0 seconds/document).&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;Those numbers show that as the number of concurrent clients increases, we see an almost exactly corresponding linear increase in time/document &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2012 00:27:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259305#M212435</guid>
      <dc:creator>hubick</dc:creator>
      <dc:date>2012-04-18T00:27:55Z</dc:date>
    </item>
    <item>
      <title>Re: Load+Concurrency Testing Utility</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259306#M212436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;just doing a quick look over the source code, this appears not to be too surprising to me. As far as I glanced over the code for the test client, it attempts to create / delete a file in one and the same folder through concurrent clients. This of course is bound to run into synchronisation issues on the database, as all concurrent clients attempt to modify the child associations of the folder at the same time. The more clients attempt this, the longer the "waiting line" in the database locking mechanism, which directly translates in to the linear increase in time / document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;To really test concurrent usage / load, tests should aim to realistically distribute content manipulation over a wide range of the content hierarchy and not be confined to selected subtrees. The Alfresoc remote BM e.g. distributes across content stores and multi-layered folder structures.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Axel&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2012 16:35:55 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259306#M212436</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2012-04-18T16:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: Load+Concurrency Testing Utility</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259307#M212437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;As far as I glanced over the code for the test client, it attempts to create / delete a file in one and the same folder through concurrent clients. This of course is bound to run into synchronisation issues on the database, as all concurrent clients attempt to modify the child associations of the folder at the same time. The more clients attempt this, the longer the "waiting line" in the database locking mechanism, which directly translates in to the linear increase in time / document.&lt;BR /&gt;&lt;BR /&gt;To really test concurrent usage / load, tests should aim to realistically distribute content manipulation over a wide range of the content hierarchy and not be confined to selected subtrees. The Alfresoc remote BM e.g. distributes across content stores and multi-layered folder structures.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt;This is great feedback, thanks! &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://connect.hyland.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm fairly sure the majority of the time for the test comes from the increments to the metadata/content, not creation/deletion of the documents.&amp;nbsp; Regardless, I have tagged version 1.1, where each client now creates/increments/deletes files within it's own folder created underneath the main test folder.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't think the test still being rooted in the same subtree should have any real impact, as &lt;/SPAN&gt;&lt;EM&gt;everything&lt;/EM&gt;&lt;SPAN&gt; ultimately shares one root folder anyhow, all just being nodes and relationship rows in the database, regardless of path within the repository.&amp;nbsp; I'm hoping the additional node of separation should provide enough isolation between each client to ensure child-associations aren't a potential issue now.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;That said, with these changes in place, I experienced no appreciable difference in runtime using 10 clients &lt;img id="smileysad" class="emoticon emoticon-smileysad" src="https://connect.hyland.com/i/smilies/16x16_smiley-sad.png" alt="Smiley Sad" title="Smiley Sad" /&gt;&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Apr 2012 20:06:38 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259307#M212437</guid>
      <dc:creator>hubick</dc:creator>
      <dc:date>2012-04-18T20:06:38Z</dc:date>
    </item>
    <item>
      <title>Re: Load+Concurrency Testing Utility</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259308#M212438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I posted a new 1.3.0 release of my utility after testing it against the new OpenCMIS implementation in Alfresco 4.0.0.&amp;nbsp; As a workaround for &lt;/SPAN&gt;&lt;A href="https://issues.alfresco.com/jira/browse/ALF-11263" rel="nofollow noopener noreferrer"&gt;https://issues.alfresco.com/jira/browse/ALF-11263&lt;/A&gt;&lt;SPAN&gt; it now has configuration properties for manipulating the versioning policy used to create/increment documents.&amp;nbsp; This release also trims out some extraneous update/refresh requests, allows you to configure the number of subfolders used to distribute the test load across the repository, and the logging is improved as well:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Concurrency test completed, with 10 concurrent clients spread across 5 folders on 2 servers [&lt;A href="http://mycluster01/alfresco/service/api/cmis" rel="nofollow noopener noreferrer"&gt;http://mycluster01/alfresco/service/api/cmis&lt;/A&gt;, &lt;A href="http://mycluster02/alfresco/service/api/cmis" rel="nofollow noopener noreferrer"&gt;http://mycluster02/alfresco/service/api/cmis&lt;/A&gt;] running 'Alfresco Repository (Enterprise)' version '3.3.5 (383)', each client performing 5 increments (not explicitly versioned) to each of 20 documents (versioning='none') in a total of 319 seconds (average 15.9 seconds/document).&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 21 Apr 2012 00:41:25 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/load-concurrency-testing-utility/m-p/259308#M212438</guid>
      <dc:creator>hubick</dc:creator>
      <dc:date>2012-04-21T00:41:25Z</dc:date>
    </item>
  </channel>
</rss>

