trafficserver-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Leif Hedstrom <>
Subject Re: errors and shutdown message in 2.1.2 under load
Date Thu, 16 Sep 2010 21:03:26 GMT
  On 09/16/2010 02:45 PM, Pranav Desai wrote:
> On Thu, Sep 16, 2010 at 12:33 PM, Leif Hedstrom<>  wrote:
>>   On 09/16/2010 01:26 PM, Pranav Desai wrote:
>>> Hi!
>>> I am running a load test with some video files to see . I am using
>>> curl-loader to generate the load. I have modified it to add a random
>>> number to the URLs before sending so I can test with a single URL and
>>> still stress the cache. The webserver is a lighttpd server with
>>> rewrite rules to translate the random strings back to a common URL.
>>> The URL is essentially a 15MB video file. I can provide more details
>>> on the setup if needed.
>> Ok, I've created   with this
>> information. If you can find a core file (or, run traffic_server under gdb),
>> and get a stack trace, that would be very helpful. Also, when it crashes,
>> you might get a stack trace in /var/log/messages and/or one of the log files
>> in the .../var/log/trafficserver  directory.
> Will do that.
> Is there an architecture diagram or doc some where that briefly
> describes how the system works especially in terms of the roles of the
> processes like traffic_manager and traffic_server and how they
> interact, communicate. How the threads get the request, who runs the
> event loop etc. Even a general block diagram would work for me. It
> will of great help in understanding the system.

Well, the admin guide ( 
should give some ideas on how the system overall runs (processes etc.), 
and the developers guide ( 
will give some ideas how things works under the hood.

That much said, I can tell you what the three processes does (big picture);

   1. traffic_cop - This process starts the traffic_manager process, and
      it's primary task is to verify that the traffic_server process is
      responding to a built-in health check. If it doesn't, traffic_cop
      will kill the traffic_server process.
   2. traffic_manager - This process is responsible for various "admin"
      tasks, and also implements the (defunct) WebUI. In addition, it
      binds the "listen" port(s) that the server will accept requests
      on, and start the traffic_server process. If this process dies
      (either crashes or killed by traffic_cop), traffic_manager still
      has the ports bound, and will immediately restart traffic_server.
   3. traffic_server - This is the primary proxy server process. It will
      run <n> number of worker threads (net-threads), where n is
      configurable but defaulted to something reasonable based on the
      number of CPUs. It also runs <m> I/O threads, by default 4 threads
      per disk spindle (but this is also configurable, and 4 is probably
      to small in many cases). In addition, there are a few "helper"
      threads for things like logging etc.


-- leif

View raw message