<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Hello,<br>
      <br>
      As promised I'm sharing results for PostgreSQL and MongoDB
      (attached). <br>
      Please note that numbers are a bit different since MongoDB
      contains results collected during 4,5 hours and PostgreSQL only
      for 1 hour.<br>
      <br>
      As expected PostgreSQL shows results similar with MySQL (since
      amount of rollbacks is the same). It created a high cpu load on
      ceilometer-collector (~85%) and psql (~100%) processes.<br>
      <br>
      results with MongoDB are much better: collector consumes 5-30% cpu
      and prof shows that profiling overhead becomes visible and cpu
      spends a lot of time in _lsprof.so.<br>
      <br>
      Cause of this results I wonder what licensing problems we have in
      promoting MongoDB as prefered/default storage?<br>
      I've read AGPL license trying to understand your reasoning against
      it but I cannot find anything that can be potentially dangerous
      (since we are not modifying MongoDB itself).<br>
      Could you please tell me if I'm wrong and point me to the right
      place?<br>
      <br>
      Regards.<br>
      <br>
      On 03/21/2014 05:58 PM, Doug Hellmann wrote:<br>
    </div>
    <blockquote
cite="mid:CADb+p3QP7z2eGCvizoiG1hgq_Ttj-HmYC_PPQbe4b2jk=ABrRQ@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_default" style="font-size:small"><br>
        </div>
        <div class="gmail_extra"><br>
          <br>
          <div class="gmail_quote">On Fri, Mar 21, 2014 at 7:04 AM, Sean
            Dague <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:sean@dague.net" target="_blank">sean@dague.net</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="">On 03/20/2014 06:18 PM, Joe Gordon wrote:<br>
                ><br>
                ><br>
                ><br>
                > On Thu, Mar 20, 2014 at 3:03 PM, Alexei Kornienko<br>
              </div>
              <div class="">> <<a moz-do-not-send="true"
                  href="mailto:alexei.kornienko@gmail.com">alexei.kornienko@gmail.com</a>
                <mailto:<a moz-do-not-send="true"
                  href="mailto:alexei.kornienko@gmail.com">alexei.kornienko@gmail.com</a>>>
                wrote:<br>
                ><br>
                >     Hello,<br>
                ><br>
                >     We've done some profiling and results are quite
                interesting:<br>
                >     during 1,5 hour ceilometer inserted 59755
                events (59755 calls to<br>
                >     record_metering_data)<br>
                >     this calls resulted in total 2591573 SQL
                queries.<br>
                ><br>
                >     And the most interesting part is that 291569
                queries were ROLLBACK<br>
                >     queries.<br>
                >     We do around 5 rollbacks to record a single
                event!<br>
                ><br>
                >     I guess it means that MySQL backend is
                currently totally unusable in<br>
                >     production environment.<br>
                ><br>
                ><br>
                > It should be noticed that SQLAlchemy is horrible
                for performance, in<br>
                > nova we usually see sqlalchemy overheads of well
                over 10x (time<br>
                > nova.db.api call vs the time MySQL measures when
                slow log is recording<br>
                > everything).<br>
                <br>
              </div>
              That's not really a fair assessment. Python object
              inflation takes time.<br>
              I do get that there is SQLA overhead here, but even if you
              trimmed it<br>
              out you would not get the the mysql query time.<br>
              <br>
              That being said, having Ceilometer's write path be highly
              tuned and not<br>
              use SQLA (and written for every back end natively) is
              probably appropriate.<br>
            </blockquote>
            <div><br>
            </div>
            <div>
              <div class="gmail_default" style="font-size:small">I have
                been working to get Mike Bayer (author of SQLAlchemy) to
                the summit in Atlanta. He is interested in working with
                us to improve SQLAlchemy, so if we have specific
                performance or feature issues like this, it would be
                good to make a list. If we have enough, maybe we can set
                aside a session in the Oslo track, otherwise we can at
                least have some hallway conversations.</div>
              <div class="gmail_default" style="font-size:small"><br>
              </div>
              <div class="gmail_default" style="font-size:small">Doug</div>
              <br>
            </div>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div class="HOEnZb">
                <div class="h5"><br>
                          -Sean<br>
                  <br>
                  --<br>
                  Sean Dague<br>
                  Samsung Research America<br>
                  <a moz-do-not-send="true" href="mailto:sean@dague.net">sean@dague.net</a>
                  / <a moz-do-not-send="true"
                    href="mailto:sean.dague@samsung.com">sean.dague@samsung.com</a><br>
                  <a moz-do-not-send="true" href="http://dague.net"
                    target="_blank">http://dague.net</a><br>
                  <br>
                </div>
              </div>
              <br>
              _______________________________________________<br>
              OpenStack-dev mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
              <a moz-do-not-send="true"
                href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev"
                target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OpenStack-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a>
<a class="moz-txt-link-freetext" href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>