chemicals in bottles

Performance Issues and Improvements As part of the release, performance optimizations are introduced back into the product as a result of a customer issue or internally found problem. The Blackboard Performance Engineering team is responsible for refactoring under-performing areas of the application and verifying regression improvements based on the optimization. Content Exchange

  • Course archive and export functions were very memory intensive. Their behavior of large in-memory processing has been eliminated by the application of a streaming technique. This improvement targets the processing of assessments, assessment attempts, discussion boards, and course files.
  • Redundant setting of file permissions while restoring content files has been eliminated to improve performance.
Community
  • User directory was auto-executing the last search anyone made. This bug in conjunction with the ability to pass an empty string with StartWith search criteria often resulted in unqualified lookup of public users to be executed unnecessarily. The implementation logic has been fixed to eliminate this behavior from consuming large amount of system resources.
  • Latencies were observed when managing domains from the administrator panel. To improve performance, an SQL query was modified to eliminate loading of unnecessary domains from the database.
Content System
  • A database index was added to improve the performance of resource link lookups.
Course Delivery
  • The Grade History page now has pagination to prevent users from loading unnecessary amounts of data all at once.
  • Assessments with large content were taking up unexpected amount of Java heap space. This resulted in triggering continuous full garbage collections that affected the performance of JVM. An advanced caching mechanism has been introduced to eliminate this problem.
  • Presentation of the Course Menu as well as My Grades has been refactored to eliminate inefficient implementation logic and retrieval of unnecessary data from the database.
  • Outdated logic in the Discussion Forum link has been removed to eliminate unnecessary workload to the system.
  • A procedure stored in the database for managing course Groups had the potential for creating a deadlock condition in high concurrency. Its internal query has been optimized to eliminate the likelihood of deadlock condition occurrence.
IMS Enterprise SIS Integration
  • Excessive consumption of JVM heap was observed during IMS Enterprise SIS Integration process. Implementation was modified so XML feed objects that were referenced longer than necessary are released much quicker.
System
  • A bug was introduced in 9.1 SP4 release that caused session invalidation task to be inefficient. This has been fixed so sessions can be invalidated and cleaned up in timely manner.
  • The performance of user tab layout creation has been improved by eliminating the usage of an unnecessary database cursor.
  • Lookup of tab group institution roles now leverages the caching mechanism to reduce the massive number of database queries.
  • Database indexes were added to improve the performance of EUD notifications, module layout, and links lookups.
  • An inefficient Announcement lookup database query impacting system performance when large numbers of announcements existed has been optimized to eliminate this issue.
  • MIME type, text/x-json has been added in the Apache and Tomcat HTTP connector compression configuration to eliminate unnecessarily bloated data from getting passed over the network.
  • MIME type, application/xml has been added in the Tomcat HTTP connector compression configuration to eliminate unnecessarily bloated data from getting transferred over the network.
  • Static content that was not leveraging HTTP caching is now cached by browsers.
  • Inefficient CSS selectors have been eliminated from the default theme template to improve the speed of UI rendering in Web browsers.
  • The caching mechanism of the system registry entries has been fixed to eliminate the massive number of unnecessary database lookups.
 ]]>