[tor-bugs] #13089 [Onionoo]: use an embedded web server/servlet engine for Onionoo

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Nov 13 10:39:06 UTC 2014


#13089: use an embedded web server/servlet engine for Onionoo
-----------------------------+--------------------------
     Reporter:  iwakeh       |      Owner:
         Type:  enhancement  |     Status:  needs_review
     Priority:  minor        |  Milestone:
    Component:  Onionoo      |    Version:
   Resolution:               |   Keywords:
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+--------------------------

Comment (by karsten):

 Here are some usage/performance statistics:

 Number of log entries per day indicating that processing took longer than
 expected (* means numbers are extrapolated from partial days):

 || 2014-11-02 || 14501 || Tomcat ||
 || 2014-11-03 || 11798 || Tomcat ||
 || 2014-11-04 || 9734 || Tomcat ||
 || 2014-11-05 || 10348 || Tomcat ||
 || 2014-11-06 || 11574 || Tomcat ||
 || 2014-11-07 || 10442 || Tomcat ||
 || 2014-11-08 || 9775 || Tomcat ||
 || 2014-11-09 || 11225 || Tomcat ||
 || 2014-11-10 || 12652 || Tomcat ||
 || 2014-11-11 || 11973 || Tomcat ||
 || 2014-11-12* || 10779  || Tomcat ||
 || 2014-11-12* || 59420 || Jetty ||
 || 2014-11-13* || 48179 || Jetty ||

 So, five times as many requests taking longer than expected with Jetty as
 with Tomcat.  Not the end of the world, but worth looking into.

 See the [https://trac.torproject.org/projects/tor/attachment/ticket/13089
 /onionoo-jetty-switch.png attached graph with some usage/performance
 statistics].  Some remarks:
  - The vertical line is when we switched from Tomcat to Jetty.
  - All graphs besides the middle two (`time_build_resp` and
 `time_handle_req`) show service usage, not performance.  They basically
 show that usage hasn't changed after switching to Jetty.  So far so good.
  - The `time_handle_req` plot looks okay.  At some point we'll want to
 investigate those spikes of the `0.999` line.  But that's not an issue
 right now.  Let's ignore that.
  - The `time_build_resp` plot is what we should be worried about.  The
 `0.99` line shouldn't go up that much.  This tells us that Jetty is
 systematically slower in building responses than Tomcat.  This is
 something we should fix.

 Here's Tomcat's `server.xml`.  Maybe there's something we can tweak in the
 Jetty setup?

 {{{
 <Server port="8005" shutdown="SHUTDOWN">
   <Service name="Catalina">
     <Connector port="8080" maxHttpHeaderSize="8192"
                maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="8443" acceptCount="100"
                connectionTimeout="20000" disableUploadTimeout="true"
                compression="on" compressionMinSize="2048"
                noCompressionUserAgents="gozilla, traviata"
 compressableMimeType="text/html,text/xml,text/plain,application/json" />
     <Engine name="Catalina" defaultHost="sewerzowi.torproject.org">
       <Host name="ooni.torproject.org" appBase="webapps"
             unpackWARs="true" autoDeploy="true"
             xmlValidation="false" xmlNamespaceAware="false">
         <Alias>sewerzowi.torproject.org</Alias>
         <Valve className="org.apache.catalina.valves.AccessLogValve"
                directory="logs" prefix="ooni_access_log." suffix=".txt"
                pattern="%l %u %t %r %s %b" resolveHosts="false"/>
       </Host>
     </Engine>
   </Service>
 </Server>
 }}}

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13089#comment:20>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list