[Seaside] Seaside as backend of apache

Dominic Letz dominic.letz at berlin.de
Tue Mar 13 13:39:23 UTC 2007


Hello,

current FastCGI timings:
on my machine using apache benchmark WAKom allows me to have around 74
requests per second on the example counter (in deployment mode).
Using the FastCGI instead of WAKom it comes to 97 requests per second. 

I still think there is a much higher speedup possible because there is a
very high amount of time (around 35%) spent in the primitive socket calls. 


97.1% {1620ms} FCGIProtocolVersion1>>requestLoop
  50.1% {836ms} FCGIProtocolVersion1>>answerRequest
    |49.3% {822ms} WAFCGI(WAKom)>>process:
    |  45.7% {762ms} WAFCGI(WAKom)>>handleRequest:
    |    45.5% {759ms} WAApplication>>handleRequest:
    |      45.2% {754ms} WAApplication(WARegistry)>>handleRequest:
    |        45.2% {754ms} WAApplication>>handleDefaultRequest:
    |          43.5% {726ms} WASession(WAExpiringHandler)>>handleRequest:
    |            43.5% {726ms} WASession>>incomingRequest:
    |              43.5% {726ms} WASession>>responseForRequest:
    |                42.3% {706ms} WASession>>performRequest:
    |                  42.3% {706ms} WASession>>start:
    |                    41.9% {699ms} WARenderLoopMain>>start:
    |                      41.4% {691ms} WARenderLoop>>run
    |                        41.4% {691ms} WARender>>go
    |                          41.3% {689ms} WARender>>render
    |                            21.3% {355ms} WASession>>respond:
    |                              |17.7% {295ms}
WASession>>actionUrlForContinuation:
    |                              |  16.2% {270ms}
WASession>>actionUrlForKey:
    |                              |    15.9% {265ms}
WAApplication(WARegistry)>>urlForRequestHandler:
    |                              |      14.7% {245ms}
WAApplication(WARegistry)>>ensureKeyForHandler:
    |                              |        14.7% {245ms}
WAApplication(WARegistry)>>registerRequestHandler:
    |                              |          11.1% {185ms}
WAApplication(WARegistry)>>unregisterExpiredHandlers
    |                              |            |5.6% {93ms}
Dictionary>>add:
    |                              |            |  |3.4% {57ms}
Dictionary(Set)>>findElementOrNil:
    |                              |            |  |  3.4% {57ms}
Dictionary>>scanFor:
    |                              |            |3.2% {53ms}
WASession(WAExpiringHandler)>>isActive
    |                              |            |  2.4% {40ms}
WASession(WAExpiringHandler)>>timeoutSeconds
    |                              |          2.5% {42ms} WAExternalID
class>>new:
    |                              |            2.5% {42ms}
WAExternalID>>initialize
    |                              |              2.1% {35ms} Character>>to:
    |                            19.7% {329ms} WARender>>buildResponse
    |                              16.8% {280ms}
WACounter(WAPresenter)>>renderWithContext:
    |                                |16.7% {279ms}
WACounter>>renderContentOn:
    |                                |  14.5% {242ms}
WARenderCanvas(WAHtmlCanvas)>>heading:
    |                                |    14.5% {242ms}
WAHeadingTag(WATagBrush)>>with:
    |                                |      14.2% {237ms}
WAHeadingTag(WATagBrush)>>openTag
    |                                |        14.1% {235ms}
WAHtmlStreamDocument>>openTag:attributes:
    |                                |          14.1% {235ms}
WAHtmlStreamDocument>>bodyStream
    |                                |            14.1% {235ms}
WARenderedHtmlRoot(WAHtmlRoot)>>writeOn:
    |                                |              13.2% {220ms}
WARenderedHtmlRoot(WAHtmlRoot)>>writeHeadOn:
    |                                |                8.5% {142ms}
WARenderedHtmlRoot>>writeStyle:on:
    |                                |                  |6.4% {107ms}
WARenderingContext>>urlForDocument:mimeType:
    |                                |                  |  6.4% {107ms}
WARenderingContext>>urlForDocument:mimeType:fileName:
    |                                |                  |    5.1% {85ms}
WAApplication(WARegistry)>>urlForRequestHandler:
    |                                |                  |      4.7%
{78ms} WAApplication>>baseUrl
    |                                |                  |        2.3%
{38ms} WAApplication(WAEntryPoint)>>baseUrl
    |                                |                  |          2.2%
{37ms} WAUrl>>addToPath:
    |                                |                  |           
2.2% {37ms} ByteString(String)>>findTokens:
    |                                |                4.2% {70ms}
WARenderedHtmlRoot>>writeScript:on:
    |                                |                  3.1% {52ms}
WARenderingContext>>urlForDocument:mimeType:
    |                                |                    3.0% {50ms}
WARenderingContext>>urlForDocument:mimeType:fileName:
    |                                |                      2.1% {35ms}
WAApplication(WARegistry)>>urlForRequestHandler:
    |                              2.2% {37ms} WARender>>buildDocRoot
  41.8% {697ms} FCGIProtocolVersion1>>readRecord:
    |41.7% {696ms} FCGIProtocolVersion1>>readAnyRecord
    |  41.7% {696ms} FCGIProtocolVersion1>>readFrom:
    |    37.0% {617ms} FCGIHeader>>readFrom:
    |      |36.8% {614ms} SocketStream>>uint8
    |      |  36.8% {614ms} SocketStream>>next
    |      |    36.2% {604ms} SocketStream>>receiveData
    |      |      35.6% {594ms}
Socket>>receiveDataSignallingClosedInto:startingAt:
    |      |        35.4% {590ms} Socket>>waitForData
    |      |          35.4% {590ms} Socket>>waitForDataIfClosed:
    |    4.2% {70ms} FCGIParamRecord>>readFrom:
    |      3.7% {62ms} ReadStream class(PositionableStream class)>>on:
    |        3.7% {62ms} ReadStream(PositionableStream)>>on:
    |          3.7% {62ms} ReadStream(PositionableStream)>>reset
  4.8% {80ms} SocketStream>>flush
    4.8% {80ms} Socket>>sendData:count:
      4.4% {73ms} primitives



More information about the Seaside mailing list