Hi Mike,<div><br></div><div>Thanks. We&#39;re working on tuning our queries. </div><div><br></div><div>Regards,</div><div>Danny</div><div><br><div class="gmail_quote">On Wed, Aug 22, 2012 at 11:50 AM, Michael Blakeley <span dir="ltr">&lt;<a href="mailto:mike@blakeley.com" target="_blank">mike@blakeley.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">No, I am saying that your workload should guide you to the correct number of threads. CPU is not part of this process: the variable is thread count, and the metrics are throughput and response times.<br>


<br>
But for real-world performance, tuning the thread count will only help if there is no clear resource limitation already. In this case you already know that CPU is at or close to capacity. So why even look at thread counts? Probably response times and throughput are suffering already. Certainly you have little or no headroom for growth.<br>


<br>
So forget about thread count for now. Focus on profiling and tuning the queries, and also thinking about how to add more capacity to meet expected growth.<br>
<br>
-- Mike<br>
<br>
On 22 Aug 2012, at 08:15 , Danny Sinang wrote:<br>
<br>
&gt; Hi Mike,<br>
&gt;<br>
&gt; So in our case, you saying we should set the number of threads to 64 ?<br>
&gt;<br>
&gt; As it is, with threads set to 32, we&#39;re seeing CPU usage hit 3,000% during peak periods.<br>
&gt;<br>
&gt; I&#39;m concerned that setting the number of threads beyond the number of cores will cause the server to hit the max 3,200% and stay there because of all the other waiting threads. Is this a valid concern ?<br>
&gt;<br>
&gt;<br>
&gt; Regards,<br>
&gt; Danny<br>
&gt;<br>
&gt; On Wed, Aug 22, 2012 at 10:43 AM, Michael Blakeley &lt;<a href="mailto:mike@blakeley.com">mike@blakeley.com</a>&gt; wrote:<br>
&gt; Your workload should guide you to the correct number of threads. I would start with 2x cores, because of network latency.<br>
&gt;<br>
&gt; You may also want to consider a load balancer and/or reverse-proxy in front of MarkLogic. The benefits from operational flexibility should be clear. But in the case where you need to handle large numbers of requests from distant, high-latency clients, this gives you a cheap place to buffer them up. If your clients are few and well-connected, this is less of an issue. But the operational flexibility is still useful.<br>


&gt;<br>
&gt; -- Mike<br>
&gt;<br>
&gt; On 22 Aug 2012, at 04:33 , Danny Sinang wrote:<br>
&gt;<br>
&gt; &gt; Hi,<br>
&gt; &gt;<br>
&gt; &gt; Our ML server is hosted by a machine with 16 cores with hypterthreading so it looks like it has 32 cores total.<br>
&gt; &gt;<br>
&gt; &gt; Our main ML app is configured to use 32 threads with a backlog of 256 . Should we stick to this setting or can we bump up the number of threads to handle more requests simultaneously ?<br>
&gt; &gt;<br>
&gt; &gt; My colleague thinks we should match the number of ML threads to the number of threads accepted by the application servers call ML services. I, however, think we can&#39;t and shouldn&#39;t go beyond 32 because that&#39;s the actual number of cores our machine has.<br>


&gt; &gt;<br>
&gt; &gt; Would appreciate any advice on this matter.<br>
&gt; &gt;<br>
&gt; &gt; Regards,<br>
&gt; &gt; Danny<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; General mailing list<br>
&gt; &gt; <a href="mailto:General@developer.marklogic.com">General@developer.marklogic.com</a><br>
&gt; &gt; <a href="http://developer.marklogic.com/mailman/listinfo/general" target="_blank">http://developer.marklogic.com/mailman/listinfo/general</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; General mailing list<br>
&gt; <a href="mailto:General@developer.marklogic.com">General@developer.marklogic.com</a><br>
&gt; <a href="http://developer.marklogic.com/mailman/listinfo/general" target="_blank">http://developer.marklogic.com/mailman/listinfo/general</a><br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; General mailing list<br>
&gt; <a href="mailto:General@developer.marklogic.com">General@developer.marklogic.com</a><br>
&gt; <a href="http://developer.marklogic.com/mailman/listinfo/general" target="_blank">http://developer.marklogic.com/mailman/listinfo/general</a><br>
<br>
_______________________________________________<br>
General mailing list<br>
<a href="mailto:General@developer.marklogic.com">General@developer.marklogic.com</a><br>
<a href="http://developer.marklogic.com/mailman/listinfo/general" target="_blank">http://developer.marklogic.com/mailman/listinfo/general</a><br>
</blockquote></div><br></div>