[squeak-dev] Re: How to profile a server image?
Herbert König
herbertkoenig at gmx.net
Sat Feb 28 20:23:53 UTC 2009
Hello Andreas,
AR> [Apologies for cross-posting but I figured some of the more interested
AR> audience may be on the Seaside list. What follows below is a summary of
AR> my experiences with server profiling over the last couple of years which
AR> I've done a goodly bit of]
big thanks! Having spent an hour or so with trying and finding my
first clues in the process browser in Socket>>waitforDataIfClosed:
I decided not to ask on the Aida list but here.
But I'll post a link to your reply on the Aida list too.
With your fix and
MessageTally spyAt: Processor timingPriority-1
on:[(Delay forSeconds: 30) wait]
I'm still confused by the result.
I'm using Aida and I open two web apps in two tabs of the web browser.
Then I just switch tabs alternating and refresh the browser.
So I'd expect both WebApps to show up in the tally but I only see the
app of which ever tab in the web browser I refresh first. The
remainder of the tally seems plausible to me except where noted in the
tally.
The server is a slow machine the client with the browser is fast and
connects via Lan. A refresh takes 5 seconds. Server uses lots of CPU
during this.
Do you think it's time to go to the Aida list, or is this still a
tally problem I have?
Squeak 3.8.2 with Win 3.10.10 VM.
Cheers,
Herbert mailto:herbertkoenig at gmx.net
-------------- next part --------------
- 29504 tallies, 30000 msec.
**Tree**
???????????????????????????? Why does this eat so much?
61.2% {18360ms} ProcessorScheduler class>>startUp
|61.2% {18360ms} ProcessorScheduler class>>idleProcess
30.1% {9030ms} HTTPConnection>>interact
|30.1% {9030ms} HTTPConnection>>getAndDispatchMessages
| 27.1% {8130ms} HTTPConnection>>produceResponseFor:
| |24.9% {7470ms} HTTPServer>>answerTo:
| | |24.9% {7470ms} URIResolution class>>resolveRequest:startingAt:
| | | 24.9% {7470ms} URIResolution>>visitResource:
| | | 24.9% {7470ms} ServerRootComposite>>helpResolve:
| | | 24.9% {7470ms} URIResolution>>resolveServerRoot:
| | | 24.9% {7470ms} URIResolution>>resolveTransparentComposite:
| | | 24.9% {7470ms} URIResolution>>visitChildrenOf:advancing:
| | | 24.8% {7440ms} URIResolution>>visitResource:
| | | 24.7% {7410ms} AIDASite>>helpResolve:
| | | 24.7% {7410ms} AIDASite>>answerTo:
| | | 18.0% {5400ms} AIDASite>>answer:to:on:
| | | |18.0% {5400ms} AIDASite>>answer:toGetOrPost:on:
############### or ADemoAddressBookApp if I start there.
| | | | 10.4% {3120ms} ADemoAddressApp(WebPage)>>printHTMLPageOn:forSession:
| | | | |10.3% {3090ms} WebForm>>printHTMLPageOn:forSession:
| | | | | 10.3% {3090ms} WebForm(WebElement)>>printHTMLPageOn:forSession:
| | | | | 10.3% {3090ms} WebElement>>printHTMLPageOn:forSession:
| | | | | 10.2% {3060ms} WebElement>>printHTMLPageOn:forSession:
| | | | | 10.1% {3030ms} WebElement>>printHTMLPageOn:forSession:
| | | | | 4.4% {1320ms} WebGrid>>printHTMLPageOn:forSession:
| | | | | |3.2% {960ms} WebTable>>printHTMLPageOn:forSession:
| | | | | | 3.2% {960ms} WebTable(WebElement)>>printHTMLPageOn:forSession:
| | | | | | 3.2% {960ms} WebTableRow>>printHTMLPageOn:forSession:
| | | | | | 2.9% {870ms} WebTableRow(WebElement)>>printHTMLPageOn:forSession:
| | | | | | 2.7% {810ms} WebTableCell>>printHTMLPageOn:forSession:
| | | | | 4.3% {1290ms} WebElement>>printHTMLPageOn:forSession:
| | | | | 3.8% {1140ms} WebList>>printHTMLPageOn:forSession:
| | | | | 3.7% {1110ms} WebList(WebElement)>>printHTMLPageOn:forSession:
| | | | | 3.7% {1110ms} WebListItem>>printHTMLPageOn:forSession:
| | | | | 3.1% {930ms} WebListItem(WebElement)>>printHTMLPageOn:forSession:
| | | | | 3.1% {930ms} WebLink>>printHTMLPageOn:forSession:
| | | | 5.7% {1710ms} WebMethodResource>>printHTMLPageOn:forSession:
| | | | 3.1% {930ms} WebStyle>>screenStyleSheet
| | | | 3.0% {900ms} WebStyle>>allCssScreenMethods
| | | 3.7% {1110ms} AIDASite>>objectTo:forSession:
| |2.2% {660ms} HTTPConnection>>nextPutResponse:toRequest:
| | 2.1% {630ms} HTTPResponse>>writeTo:
| 2.9% {870ms} HTTPConnection>>readRequestFor:
| 2.5% {750ms} HTTPRequest class>>readFrom:
| 2.3% {690ms} HTTPRequest class>>newFor:readFrom:
| 2.2% {660ms} HTTPGet(HTTPRequest)>>for:readFrom:
| 2.1% {630ms} HTTPHeaders class>>readFrom:
| 2.1% {630ms} HTTPHeaders>>readFrom:
5.5% {1650ms} EventSensor>>installEventTickler
|5.5% {1650ms} EventSensor>>eventTickler
| 5.5% {1650ms} Delay>>wait
| 5.3% {1590ms} primitives
2.9% {870ms} HTTPServer>>start
2.9% {870ms} HTTPServer>>acceptConnection
2.9% {870ms} SwazooSocket>>accept
2.9% {870ms} SpSocket>>acceptRetryingIfTransientErrors
2.9% {870ms} SpSocket>>accept
2.9% {870ms} Socket>>waitForAcceptFor:ifTimedOut:
2.8% {840ms} Socket>>waitForConnectionFor:ifTimedOut:
2.8% {840ms} Semaphore>>waitTimeoutMSecs:
**Leaves**
61.2% {18360ms} ProcessorScheduler class>>idleProcess
6.8% {2040ms} ByteSymbol class(String class)>>stringHash:initialHash:
5.3% {1590ms} Delay>>wait
3.0% {900ms} Semaphore>>critical:
**Memory**
old -973,692 bytes
young -12,348 bytes
used -986,040 bytes
free +1,551,680 bytes
**GCs**
full 1 totalling 1,498ms (5.0% uptime), avg 1498.0ms
incr 720 totalling 1,151ms (4.0% uptime), avg 2.0ms
tenures 18 (avg 40 GCs/tenure)
root table 0 overflows
More information about the Squeak-dev
mailing list
|