<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>MultiChain Developer Q&amp;A - Recent questions tagged scalability</title>
<link>https://www.multichain.com/qa/tag/scalability</link>
<description>Powered by Question2Answer</description>
<item>
<title>Performance impact depending on the number of miners</title>
<link>https://www.multichain.com/qa/12831/performance-impact-depending-on-the-number-of-miners</link>
<description>Hi,&lt;br /&gt;
&lt;br /&gt;
We are currently implementing a private blockchain that has initially 15 nodes as miners. If we increase the number of miners, would this have a significant impact on the a.) confirmation time of a transaction, b.) and the propagation time of committed blocks across the blockchain network.&lt;br /&gt;
&lt;br /&gt;
I am new to the blockchain technology so I would like to understand how exactly the number of miners impacts the blockchain network.&lt;br /&gt;
&lt;br /&gt;
Thank you!</description>
<guid isPermaLink="true">https://www.multichain.com/qa/12831/performance-impact-depending-on-the-number-of-miners</guid>
<pubDate>Mon, 11 Feb 2019 12:34:11 +0000</pubDate>
</item>
<item>
<title>IssueFrom and Publish performance as asset number grows</title>
<link>https://www.multichain.com/qa/10239/issuefrom-and-publish-performance-as-asset-number-grows</link>
<description>&lt;p&gt;Hi&lt;/p&gt;&lt;p&gt;I've noticed the performance of both the IssueFrom and Publish calls degrade significantly as the number of assets on the chain grows, even at relatively small numbers.&lt;/p&gt;&lt;p&gt;I found that the first issue command took 4ms, but the 10,000th issuance took over&amp;nbsp;100ms&lt;/p&gt;&lt;p&gt;My setup is a Node JS&amp;nbsp;app and chain(single node) spun up with docker-compose.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Multichain version is 1.0.5.&lt;/p&gt;&lt;p&gt;I have&amp;nbsp;been using the multichain-node library but also tried my own code to directly talk to the chain. There wasn't much performance difference (my own code was actually a bit slower).&lt;/p&gt;&lt;p&gt;Apologies for the&amp;nbsp;code snippet below but is there something I'm doing wrong?&amp;nbsp;Any help would be appreciated.&lt;/p&gt;&lt;pre&gt;&lt;strong&gt;async function &lt;/strong&gt;&lt;span style=&quot;color:#ffc66d&quot;&gt;issue&lt;/span&gt;(counter) {
  &lt;strong&gt;const &lt;/strong&gt;assetId = uuid.v4().&lt;span style=&quot;color:#ffc66d&quot;&gt;replace&lt;/span&gt;(&lt;span style=&quot;color:#6a8759&quot;&gt;/-/g&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6a8759&quot;&gt;''&lt;/span&gt;)&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;metadata = {
    &lt;span style=&quot;color:#9876aa&quot;&gt;streamId&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;`streamId-&lt;/span&gt;${counter}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;cData&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;`c-&lt;/span&gt;${counter}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;lData&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;`l-&lt;/span&gt;${counter}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;sData&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;`s-&lt;/span&gt;${counter}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;mData&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;`m-&lt;/span&gt;${counter}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;dateCreated&lt;/span&gt;: &lt;strong&gt;new &lt;/strong&gt;Date().&lt;span style=&quot;color:#ffc66d&quot;&gt;toString&lt;/span&gt;()&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;}&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;
&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;body = JSON.&lt;span style=&quot;color:#ffc66d&quot;&gt;stringify&lt;/span&gt;({ &lt;span style=&quot;color:#9876aa&quot;&gt;jsonrpc&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;'1.0'&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;id&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;'curltest'&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;method&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;'issuefrom'&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;params&lt;/span&gt;: [MY_ADDRESS&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;MY_ADDRESS&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;assetId&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#6897bb&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;, &lt;/span&gt;metadata] })&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;
&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;url = &lt;span style=&quot;color:#6a8759&quot;&gt;`http://&lt;/span&gt;${multichainHost}&lt;span style=&quot;color:#6a8759&quot;&gt;:8571`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;options = {
    url&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;method&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;'POST'&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;headers&lt;/span&gt;:
    {
      &lt;span style=&quot;color:#6a8759&quot;&gt;'content-type'&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;'text/plain'&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;}&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;auth&lt;/span&gt;: {
      &lt;span style=&quot;color:#9876aa&quot;&gt;user&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;'user'&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;      &lt;/span&gt;&lt;span style=&quot;color:#9876aa&quot;&gt;pass&lt;/span&gt;: &lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;${multichainPassword}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;}&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;    &lt;/span&gt;body&lt;span style=&quot;color:#cc7832&quot;&gt;,
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;}&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;
&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;start = now()&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;response = &lt;strong&gt;await &lt;/strong&gt;rp(options)&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;end = now()&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;const &lt;/strong&gt;duration = (end - start).&lt;span style=&quot;color:#ffc66d&quot;&gt;toFixed&lt;/span&gt;(&lt;span style=&quot;color:#6897bb&quot;&gt;1&lt;/span&gt;)&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;console.&lt;span style=&quot;color:#ffc66d&quot;&gt;log&lt;/span&gt;(&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;${counter}&lt;span style=&quot;color:#6a8759&quot;&gt;, &lt;/span&gt;${duration}&lt;span style=&quot;color:#6a8759&quot;&gt;`&lt;/span&gt;)&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;return &lt;/strong&gt;response.&lt;span style=&quot;color:#9876aa&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;}

&lt;strong&gt;async function &lt;/strong&gt;&lt;span style=&quot;color:#ffc66d&quot;&gt;directTest&lt;/span&gt;() {
  &lt;strong&gt;const &lt;/strong&gt;nToCreate = &lt;span style=&quot;color:#6897bb&quot;&gt;10000&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;&lt;strong&gt;for &lt;/strong&gt;(&lt;strong&gt;let &lt;/strong&gt;i = &lt;span style=&quot;color:#6897bb&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;; &lt;/span&gt;i &amp;lt; nToCreate&lt;span style=&quot;color:#cc7832&quot;&gt;; &lt;/span&gt;i += &lt;span style=&quot;color:#6897bb&quot;&gt;1&lt;/span&gt;) {
    &lt;strong&gt;await &lt;/strong&gt;&lt;span style=&quot;color:#ffc66d&quot;&gt;issue&lt;/span&gt;(i)&lt;span style=&quot;color:#cc7832&quot;&gt;;
&lt;/span&gt;&lt;span style=&quot;color:#cc7832&quot;&gt;  &lt;/span&gt;}
}&lt;/pre&gt;</description>
<guid isPermaLink="true">https://www.multichain.com/qa/10239/issuefrom-and-publish-performance-as-asset-number-grows</guid>
<pubDate>Tue, 10 Jul 2018 15:13:50 +0000</pubDate>
</item>
<item>
<title>Performance impact as number of Nodes in Blockchain increase</title>
<link>https://www.multichain.com/qa/8905/performance-impact-as-number-of-nodes-blockchain-increase</link>
<description>Hi&lt;br /&gt;
&lt;br /&gt;
We are trying to implement a private blockchain starting with 10 nodes. Going forward we want to expand it to hundreds of nodes. &lt;br /&gt;
&lt;br /&gt;
In our blockchain we want to credit points to user account based on certain action. This has to happen in near real time hence we have performance as one of the most important criteria for selecting blockchain platform.&lt;br /&gt;
&lt;br /&gt;
I understand multichain based blockchain can do around 1000 TPS. &lt;br /&gt;
&lt;br /&gt;
However as we know every commited block in blockchain has to be replicated to all nodes in blockchain network. So if the number of nodes in network increase it would add more latency due to increased number of nodes.&lt;br /&gt;
&lt;br /&gt;
Is this understanding correct? If yes how TPS is affected with increased number of nodes.</description>
<guid isPermaLink="true">https://www.multichain.com/qa/8905/performance-impact-as-number-of-nodes-blockchain-increase</guid>
<pubDate>Mon, 12 Mar 2018 09:53:53 +0000</pubDate>
</item>
<item>
<title>Multichain Scalability</title>
<link>https://www.multichain.com/qa/5043/multichain-scalability</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;&lt;p&gt;I would love to listen from you on the topic 'Scaling with Multichain' - What could be scalability issues with multi-organisation private blockchain setup and how to address them. Also some insights on operational cost.&lt;/p&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;</description>
<guid isPermaLink="true">https://www.multichain.com/qa/5043/multichain-scalability</guid>
<pubDate>Mon, 15 May 2017 04:11:46 +0000</pubDate>
</item>
</channel>
</rss>