M
martin carmichael
Hello,
I am wondering how aspnet developers do their web stress on ASPNET
apps
..
I would like to run mine with apache JMeter, a well-known open source
tool.
Unfortunately, it does not works well with ASPNET, I think maybe
because postback in the dotnet area are not the same as in the
html/java/cgi-bin traddition.
In the aspnet area, the page is postback to itself, with a lot of
viewstate events fired. it work well if you submit with a browser.
But with a stress tool, like JMeter, or OpenSTA, this is not a browser
that post a request page, but a piece of software, usually running in
its own thread.
It seems to me that something is missing there, as the debug trace is
different, depending if a page is posted from a browser, like this:
aspx.page Begin Init
aspx.page End Init 0,000082 0,000082
aspx.page Begin LoadViewState 0,000131 0,000049
aspx.page End LoadViewState 0,000348 0,000217
aspx.page Begin ProcessPostData 0,000414 0,000066
aspx.page End ProcessPostData 0,000749 0,000335
aspx.page Begin ProcessPostData Second Try 0,001026 0,000278
aspx.page End ProcessPostData Second Try 0,001090 0,000063
aspx.page Begin Raise ChangedEvents 0,001122 0,000033
aspx.page End Raise ChangedEvents 0,001159 0,000037
aspx.page Begin Raise PostBackEvent 0,001192 0,000032
aspx.page End Raise PostBackEvent 0,950161 0,948969
aspx.page Begin PreRender 0,950248 0,000087
aspx.page End PreRender 0,950302 0,000054
aspx.page Begin SaveViewState 0,951535 0,001233
aspx.page End SaveViewState 0,951710 0,000175
aspx.page Begin Render 0,951767 0,000057
aspx.page End Render 0,953222 0,001455
or if it posted from a stress tool, like JMeter, like this:
aspx.page Begin Init
aspx.page End Init 0,000091 0,000091
aspx.page Begin PreRender 0,000272 0,000181
aspx.page End PreRender 0,000360 0,000088
aspx.page Begin SaveViewState 0,001071 0,000711
aspx.page End SaveViewState 0,001221 0,000150
aspx.page Begin Render 0,001273 0,000053
aspx.page End Render 0,003051 0,001777
as we can see, many events are not processeed when the post is done
with JMeter.
Can someone explains why and tell us a workaround?
is it possible to replace asp:button events handling by input type
submit button ? How could I handle input type=submit events? aspnet
is not very well suited to do input submit handling, as it is geared
torwards asp:button events.
thank you,
BTW: How do you stress test your aspnet web apps with multiple users?
I am wondering how aspnet developers do their web stress on ASPNET
apps
..
I would like to run mine with apache JMeter, a well-known open source
tool.
Unfortunately, it does not works well with ASPNET, I think maybe
because postback in the dotnet area are not the same as in the
html/java/cgi-bin traddition.
In the aspnet area, the page is postback to itself, with a lot of
viewstate events fired. it work well if you submit with a browser.
But with a stress tool, like JMeter, or OpenSTA, this is not a browser
that post a request page, but a piece of software, usually running in
its own thread.
It seems to me that something is missing there, as the debug trace is
different, depending if a page is posted from a browser, like this:
aspx.page Begin Init
aspx.page End Init 0,000082 0,000082
aspx.page Begin LoadViewState 0,000131 0,000049
aspx.page End LoadViewState 0,000348 0,000217
aspx.page Begin ProcessPostData 0,000414 0,000066
aspx.page End ProcessPostData 0,000749 0,000335
aspx.page Begin ProcessPostData Second Try 0,001026 0,000278
aspx.page End ProcessPostData Second Try 0,001090 0,000063
aspx.page Begin Raise ChangedEvents 0,001122 0,000033
aspx.page End Raise ChangedEvents 0,001159 0,000037
aspx.page Begin Raise PostBackEvent 0,001192 0,000032
aspx.page End Raise PostBackEvent 0,950161 0,948969
aspx.page Begin PreRender 0,950248 0,000087
aspx.page End PreRender 0,950302 0,000054
aspx.page Begin SaveViewState 0,951535 0,001233
aspx.page End SaveViewState 0,951710 0,000175
aspx.page Begin Render 0,951767 0,000057
aspx.page End Render 0,953222 0,001455
or if it posted from a stress tool, like JMeter, like this:
aspx.page Begin Init
aspx.page End Init 0,000091 0,000091
aspx.page Begin PreRender 0,000272 0,000181
aspx.page End PreRender 0,000360 0,000088
aspx.page Begin SaveViewState 0,001071 0,000711
aspx.page End SaveViewState 0,001221 0,000150
aspx.page Begin Render 0,001273 0,000053
aspx.page End Render 0,003051 0,001777
as we can see, many events are not processeed when the post is done
with JMeter.
Can someone explains why and tell us a workaround?
is it possible to replace asp:button events handling by input type
submit button ? How could I handle input type=submit events? aspnet
is not very well suited to do input submit handling, as it is geared
torwards asp:button events.
thank you,
BTW: How do you stress test your aspnet web apps with multiple users?