One too many, I have been asked; the answer is, yes VWG's On-Server Web model, is at least as scalable as ASP.NET AJAX

The model gets high attentions from developers who keep questioning this model scalability.
Well, here is the more detailed answer.

On-Server Web is based on optimized server-web client connectivity. An average action would generate
no more than 1k of Meta data payload. On top there is another optimization by a mechanism that analyzes
code, sorting critical events from uncritical ones, calling back, only critical events.

This way highly optimized protocol is achieved. Sounds complicated? Well, it is not!

The concept is based on the good old "main frame" model, extended for web and updated to include cutting
edge AJAX for connectivity and now Silverlight, for a richer presentation layer.

The VWG On-Server client is empty!

When in run time mode, once a VWG application is accessed a 200K kernel, automatically downloaded,
and the connection is set.
Logic, data, IP, all run on server. Nothing but that small kernel runs on client.
This is made possible by server state that is being drawn on client using Meta data only. A unique
mechanism keeps constant equilibrium between server state and client's and updates only when that
equilibrium is broken by user interactions or server updates.
The result, only differential, tiny packets of Meta data are being sent back and force.

See following diagrams.

Drawing 1 - description of On-Server Web paradigm

clip_image002

Drawing 2- description of On-Server – web client connectivity

clip_image004

And now to real world experience:

On-Server Web performance and scalability is attested to, by real world experience as follows:

MVP RICK STRHANAL posts in his blog, following On-Server VWG evaluation:

"… Yup that's not very scalable - and the VWG guys make no secret out of that fact that VWG is not meant
for high traffic sites or even for very visual ones..."

After being made aware of the unique architecture,
he posts again:

"…well it's interesting. I hooked up Web Application Stress Tool to it and ran through my app and let it
rip and surprisingly the throughput is like any other ASP.NET application in
terms of number of requests.
Now VWG will generate many more requests than your average postback
style or even AJAX application,
but still if the performance of that throughput with small requests
is what I saw in these tests it looks
like it should easily scale to at least the threadpool size of
users (ie. 100 or so). FWIW, the throughput
I saw was 185 req/second which is roughly what I see
on a typical simple ASP.NET application. This is with
20 clients and a stress multiplier of 10 with no request limits..."

Trackback: http://west-wind.com/weblog/posts/180727.aspx

MVP WIKTOR posts in his blog, real world application testing as follows:

Tiny ASP.NET Ajax Framework Contest , Thursday, June 28, 2007

Contest context

More than two years ago we've built a small web application used to collect and print documents required
to participate in secondary school final xaminations in Poland. The application is used
quite extensively by
people from all over the country.The application, maturzysta.vulcan.pl, is located here.

…The first version of the application was built as a server-side application: all SelectedIndexChanged
events were auto-postbacked and processed on the application server. This caused a lot of trouble since
the heavy form had to be sent to and from the server.

The year later we've completely redesigned the application…In the meantime, few promising AJAX
frameworks appeared and we thought that it would be possible to go back to the initial version of the
application but instead of expensive postbacks we could take the AJAX approach and replace postbacks
with callbacks. This could  solve all problems: reduce the traffic and still keep the
application logic on the
server-side. The test
Microsoft Application Center Test has been choosen as the contest judgement tool.
Tests were
performed on the Windows XP machine serving as the application server. Exactly 200 sessions
have
been simulated for 5 concurrent users. Each session has been recorded as the complete user
session - forms have been filled with data and dropdown selections have been made. Each session ended
with the application showing the print-ready document.

Results

Gathering all results together, we had 2 non-Ajax contestants: pure Web.Forms application, Javascript
version of it and 6 Ajax frameworks:

Microsoft's ASP.NET AJAX, Ajaxium, VisualWebGUI, ComfortASP.NET, Anthem.NET and Telerik's RAD Ajax.

Regarding requests-per-second we have following results:

image

Regarding number-of-bytes-sent we have following results:

2e

Regarding number-of-bytes-received we have following results:

3e

Few comments:

  • the overall winner is VWG, however the application had to be completely rewritten in order to
    run under this framework
  • the javascript version did not win (even in the bytes-received test!) and though this may seem
    surprising, it is caused by the script size
  • the Ajaxium, Anthem and Comfort reduce the requests-per-second ratio singificantly. The latter
    two are able to correctly handle dynamic,
    non-ajax content sent to the browser
  • regarding the requests-per-second, Telerik is significantly better than ASP.NET AJAX, however
    it downloads huge amout of data comparing to all other frameworks

Trackback: http://netpl.blogspot.com/search?q=request+per+second

SAP's Asaf Saar, posts in his blog:

"…Then you compile your project and magic, you get a web page with an amazing rich look and feel.
Of course, since it’s all AJAX there are no refreshes, no postbacks, and it’s very fast…"

Trackback: http://www.asaf.co.il/blog/archives/30

Mark Reed of NetworkD attests:

“Once we went to VWG we saw anywhere from 100%-400%+ improvement in speed…"

Trackback:http://www.visualwebgui.com/About/ShowCases/tabid/70/articleType/ArticleView/articleId/99/NetworkD.aspx

High traffic server

Real world experience proves that VWG's On-Server model is scalable.
Visual WebGui is going to ship a new server that allows serialization and floating session that will enable
deployment over web farm, thus allowing very high traffic, Amazons like, which usually requires deployment
over a web farm. Stay tuned, on this.

And senior technologists attest

"Simplicity at last…all I can say is WOW!" "…since the WVG development model is so much faster… what should had taken …about six month … I finished all of them in a single afternoon. I haven't been this impressed with any technology since I first saw VB back in the day…"

No Comments