<div dir="ltr"><div><div><div><div>With the default configuration of the web server it is impossible to handle more than 256 *connections* simultaneously. I guess that "ab" is opening a connection for each concurrent request, so when you reach request 257 the web server will just reject the connection, there is nothing that the JBoss can do about it; you have to increase the number of connections supported by the web server.<br><br></div><b>So Does it mean that oVirt cannot serve more than 257 request? </b><br></div>My question is, If its possible How to scale this and what is the configuration we need to change?<br><br></div><div>Also, we are taking a benchmark in using oVirt, So I need to find the maximum possible oVirt request. So please let me know the configuration tuning for oVirt to achieve maximum concurrent request.<br></div><div><br></div>Thanks,<br></div>Hari <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 7, 2018 at 7:25 PM, Juan Hernández <span dir="ltr"><<a href="mailto:jhernand@redhat.com" target="_blank">jhernand@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">With the default configuration of the web server it is impossible to handle more than 256 *connections* simultaneously. I guess that "ab" is opening a connection for each concurrent request, so when you reach request 257 the web server will just reject the connection, there is nothing that the JBoss can do about it; you have to increase the number of connections supported by the web server.<br>
<br>
Or else you may want to re-consider why you want to use 1000 simultaneous connections. It may be OK for a performance test, but there are better ways to squeeze performance. For example, you could consider using HTTP pipelining, which is much more friendly for the server than so many connections. This is what we use when we need to send a large number of requests from other systems. There are examples of how to do that with the Python and Ruby SDKs here:<br>
<br>
Python:<br>
<br>
<a href="https://github.com/oVirt/ovirt-engine-sdk/blob/master/sdk/examples/asynchronous_inventory.py" rel="noreferrer" target="_blank">https://github.com/oVirt/ovirt<wbr>-engine-sdk/blob/master/sdk/<wbr>examples/asynchronous_inventor<wbr>y.py</a><br>
<br>
Ruby:<br>
<br>
<a href="https://github.com/oVirt/ovirt-engine-sdk-ruby/blob/master/sdk/examples/asynchronous_inventory.rb" rel="noreferrer" target="_blank">https://github.com/oVirt/ovirt<wbr>-engine-sdk-ruby/blob/master/<wbr>sdk/examples/asynchronous_<wbr>inventory.rb</a><div class="HOEnZb"><div class="h5"><br>
<br>
On 03/07/2018 02:43 PM, Hari Prasanth Loganathan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Juan,<br>
<br>
Thanks for the response.<br>
<br>
I agree web server can handle only limited number of concurrent requests.<br>
But Why it is failing with SSL handshake failure for few requests, Can't<br>
the JBOSS wait and serve the request? We can spare the delay but not with<br>
the request fails. So Is there a configuration in oVirt which can be tuned<br>
to achieve this?<br>
<br>
Thanks,<br>
Hari<br>
<br>
On Wed, Mar 7, 2018 at 7:05 PM, Juan Hernández <<a href="mailto:jhernand@redhat.com" target="_blank">jhernand@redhat.com</a>> wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The first thing you will need to change for such a test is the number of<br>
simultaneous connections accepted by the Apache web server: by default the<br>
max is 256. See the Apache documentation here:<br>
<br>
<a href="https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxrequestworkers" rel="noreferrer" target="_blank">https://httpd.apache.org/<wbr>docs/2.4/mod/mpm_common.html#m<wbr>axrequestworkers</a><br>
<br>
In addition I also suggest that you consider using the "worker"<br>
multi-processing module instead of the "prefork", as it usually works<br>
better when talking to a Java application server, because it re-uses<br>
connections better.<br>
<br>
On 03/07/2018 02:20 PM, Hari Prasanth Loganathan wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Team,<br>
<br>
*Description of problem:*<br>
<br>
I am trying to achieve 1000 concurrent request to oVirt. What are the<br>
tunable parameters to achieve this?<br>
<br>
I tried to perform the benchmarking for ovirt engine using Apache<br>
benchmark<br>
using the same SSO token.<br>
<br>
ab -n 1000 -c 500 -k -H "accept: application/json" -H "Authorization:<br>
Bearer SSOTOKEN" <a href="https://172.30.56.70/ovirt-engine/" rel="noreferrer" target="_blank">https://172.30.56.70/ovirt-eng<wbr>ine/</a><br>
<<a href="https://172.30.56.70/ovirt-engine/api/vms/5440271b-afb3-48b" rel="noreferrer" target="_blank">https://172.30.56.70/ovirt-en<wbr>gine/api/vms/5440271b-afb3-48b</a><br>
b-9ff1-076fc07ebf50/statistics<wbr>><br>
<br>
When the number of concurrent request is 500, we are getting more than 100<br>
failures with the following error,<br>
<br>
SSL read failed (1) - closing connection<br>
139620982339352:error:<br>
<br>
NOTE: It is scaling for concurrent request below 500.<br>
<br>
I used the profiler to get the memory and CPU and it seems very less,<br>
<br>
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+<br>
COMMAND<br>
30413 ovirt 20 0 4226664 882396 6776 S 126.0 23.0 27:48.53 java<br>
<br>
Configuration of the machine in which Ovirt is deployed :<br>
<br>
RAM - 4GB,<br>
Hard disk - 100GB,<br>
core processor - 2,<br>
OS - Cent7.x.<br>
<br>
In which 2GB is allocated to oVirt.<br>
<br>
<br>
Version-Release number of selected component (if applicable):<br>
<br>
4.2.2<br>
<br>
<br>
How reproducible:<br>
<br>
If the number of concurrent requests are above 500, we are easily facing<br>
this issue.<br>
<br>
<br>
*Actual results:*<br>
<br>
SSL read failed (1) - closing connection<br>
139620982339352:error:<br>
<br>
*Expected results:*<br>
<br>
Request success.<br>
<br>
<br>
Thanks,<br>
Hari<br>
<br>
<br>
<br>
______________________________<wbr>_________________<br>
Users mailing list<br>
<a href="mailto:Users@ovirt.org" target="_blank">Users@ovirt.org</a><br>
<a href="http://lists.ovirt.org/mailman/listinfo/users" rel="noreferrer" target="_blank">http://lists.ovirt.org/mailman<wbr>/listinfo/users</a><br>
<br>
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</div></div></blockquote></div><br></div>
<br>
<p style="text-align:justify"><span lang="EN-US"><font size="1">DISCLAIMER</font></span></p>
<p style="text-align:justify"><font size="1"><span lang="EN-US">The information in this e-mail is confidential and may be subject to
legal privilege. It is intended solely for the addressee. Access to this e-mail
by anyone else is unauthorized. If you have received this communication in
error, please address with the subject heading "Received in error,"
send to <a href="mailto:it@msystechnologies.com" target="_blank">it@msystechnologies.com</a>,
then delete the e-mail and destroy any copies of it. If you are not the
intended recipient, any disclosure, copying, distribution or any action taken
or omitted to be taken in reliance on it, is prohibited and may be unlawful.
The views, opinions, conclusions and other information expressed in this
electronic mail and any attachments are not given or endorsed by the company
unless otherwise indicated by an authorized representative independent of this
message.</span></font></p>
<font size="1"><span lang="EN-US">MSys cannot guarantee
that e-mail communications are secure or error-free, as information could be
intercepted, corrupted, amended, lost, destroyed, arrive late or incomplete, or
contain viruses, though </span>all reasonable
precautions have been taken to ensure no viruses are present in this e-mail<span lang="EN-US">. </span>As our company cannot accept responsibility for
any loss or damage arising from the use of this e-mail or attachments we
recommend that you subject these to your virus checking procedures prior to use</font>