WebSpellChecker.net Wiki


SpellCheckAsYouType Solution Server Performance Notes

This page represents server load of the WebSpellChecker.net servers, that run hosted version of the SpellCheckAsYouType solution.


When a user accesses the WebSpellChecker feature on a web site, several requests are issued to the server. These requests are to both the engine and to the web server.

Requests to the engine do the spell-checking work - checking words, getting suggestions for the incorrect words, etc. These requests begin by invoking the CGI script residing on the server. This script, in turn, issues requests to the application server that contains the system logic and works with dictionaries. Each request utilizes its own copy of CGI script, but all these scripts work with only one instance of the application server. Therefore, such requests impose the load on both web server and application server.

When SCAYT is initialized several static items are loaded from the server, such as images, scripts, style sheets, etc. If the user enters new word, not cached on client, request to the web server is sent each three seconds.

When user opens a page with SCAYT enabled or enables SCAYT, a unique session ID is assigned to the user. All the future requests from this page will be sent with this session ID, until the user closes the page. Based on this, simultaneous users are unique session IDs that used SCAYT during a 15 minutes period of time.

Server configuration

  • OS: Linux
  • Processor: 2 Cores processor
  • RAM: 1.7 GB
  • Apache Web Server

Server load of the WebSpellChecker.net hosted services

The following picture displays a typical CPU utilization graph of one of the WebSpellChecker.net servers during the day. We have four such servers in the cloud. Maximum number of simultaneous users during this day for all four servers in cloud was 830 users at about 15:00 – 16:00. According to the graph, CPU utilization at this time was about 35%.