Performance Scalability
To this point, we have discussed scalability from a software design perspective and its impact on enterprise-wide systems. However, the design of the LMS itself is as important as platform or architecture when considering how easy it will be to manage the learning requirements of the users.
数据挖掘研究院
When evaluating a potential LMS's scalability, it is important to understand what claims about supported users a vendor is making and what they mean. If they are talking about an implementation with 100,000 users, these are most likely named or active users, not concurrent. In many ways, however, even if a vendor claims that it supports 5,000 concurrent users, this metric does not provide a complete view of an LMS' true scalability. 数据挖掘研究院
Why does an organization care about performance scalability in the first place? Primarily, it requires that the LMS perform at a certain level. When a user registers for a course, or takes a Web-based course, or reviews course history, the LMS must respond in a reasonable time if users are to accept and get any value from the LMS. Several interacting factors impact performance. As mentioned, the LMS itself has a degree of scalability related to it. Platform and system architecture both impact scalability. 数据挖掘交友
Greater performance scalability reduces the cost of hardware that would be required to maintain response times. Any significant increase in the number of active users will require an additional processor or two to preserve LMS performance. However, a less scalable system will need a more substantial increase in hardware to maintain the same level of performance for a comparable increase in the learner base. 数据挖掘交友
A platform is scalable if it can maintain response time when user traffic increases by increasing hardware resources. A platform is less scalable if larger hardware resource increases support modest user traffic increases. Although industry analysts and LMS vendors may assert that either .NET or J2EE is more scalable than the other, the development platform is less relevant for scalability than the underlying software design or databases engine. A poorly architected J2EE LMS will probably perform worse than a better designed .NET LMS and vice versa. For example, DaimlerChrysler Academy Learning Center is a .NET-based LMS that manages learning for 250,000 (2,500 concurrent) corporate and dealership users.
How can a buyer tell how well an LMS has been architected? Understanding scalability can help. When scalability numbers are cited by a vendor, a buyer can ask questions to determine how much hardware power current clients of the vendor are using, what the number of concurrent users are for that client, and what response time they are getting. One way to arrive at a more apples-to-apples comparison between different clients of different vendors is to break down the hardware configurations and users into number of concurrent users per processor. 数据挖掘论坛
Scalability results primarily from a well-designed multitier architecture (see Figure 2).
数据挖掘交友
Figure 2: Well-Designed Multitier Architecture
For a Web-based system that can serve the widest range of client machines, a multitier architecture consists of Web browsers pointing to Web servers that present data (presentation tier) that application servers (logic tier) read from and write to databases (data tier). An organization can scale a well-designed LMS by adding computing power at any tier. A poorly designed LMS that, for example, makes logical decisions and calculations in the presentation tier instead of the business tier creates a performance bottleneck that adversely affects scalability. 数据挖掘研究院
Scalability and Concurrent Users
Frequently, scalability is given in terms of active (or named) and concurrent (or simultaneous) users. Are concurrent users those individuals that are currently logged onto the system? Stored in the system LMS user database? Often an LMS vendor and a prospect or client may have different ideas of what constitutes an active, concurrent, or simultaneous user. For scalability purposes, an active user is one that is stored in the database and whose record needs to be scanned (queried) when an operation is performed in the system. (e.g., an administrator wants to run a report of all users that have completed a particular course.) Concurrent users are performing some action in the LMS at the same time. One user may have just selected the submit button to register for a course while another user has just selected the start button to begin taking an online course while the system is in the process of reporting course history to another user and so on. At any given moment, all the users that the system is working for, doing something in response to a request, all of those users are concurrent at that moment in time. Methods of estimating concurrent users from the number of active users varies, but the number of concurrent users tends to be much lower (a hundredth, for example) than the number of active users.