[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