Portal Concurrency

  • Release version: Yokohama
  • Updated April 25, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Portal Concurrency

    Portal Concurrency in the Yokohama release enhances portal performance by optimizing content delivery for high concurrency scenarios, specifically forCompany Events. This feature allows a larger number of users to access event content simultaneously without sacrificing functionality, resulting in improved availability and user experience. It is activated only when theOptimize performance for high traffic volumeoption is selected for Company Events.

    Show full answer Show less

    Key Features

    • Precomputed Audience Table (sncdprecomputedaudience): Maintains records linking users with the content they are authorized to access. This table is synchronized automatically and should not be manually edited.
    • Automatic Synchronization: A scheduled job named Content Publishing: Precompute Audiences for Company Events runs daily at 00:30. It precomputes audiences for Company Events occurring within a 30-hour window, populating the precomputed audience table. Another scheduled job cleans up expired event records.
    • Manual Synchronization Options:
      • Full manual sync: System administrators can manually run the scheduled job to fully sync the precomputed audience table.
      • Partial manual sync: Content administrators can trigger audience precomputation for specific events to ensure up-to-date access control, mainly used for last-minute adjustments.
    • Performance Optimization Flow: When a user accesses a high concurrency Company Event, the system first checks the precomputed audience table for access authorization. If authorized, content loads immediately; otherwise, it falls back to the standard audience check.
    • Standard Audience Check Flow: This is the existing method used when precompute optimization is not enabled. It involves querying schedules and audiences dynamically to determine user access.

    Benefits for ServiceNow Customers

    • Improved Scalability: Enables handling of high traffic volumes efficiently, ensuring many users can access event content simultaneously without delays.
    • Enhanced User Experience: Reduces load times by precomputing access rights, allowing faster content rendering for authorized users.
    • Flexibility and Control: Provides both automated and manual synchronization options to maintain accurate access controls tailored to dynamic event audiences.
    • Maintain Security and Accuracy: Ensures users only see content they are authorized to access through up-to-date audience precomputation and fallback checks.

    Discover ways to improve performance and enhance portal concurrency content.

    Portal performance features seamlessly improve high concurrency content without sacrificing user functionality, and creates greater availability and flexibility to a larger number of users accessing content simultaneously.

    Note:
    This feature only works for Company Events, and when Optimize performance for high traffic volume is selected.

    For more information on managing portal performance, see Managing portal performance.

    Table 1. Precomputed Audience
    sn_cd_precomputed_audience-list
    Column name Column type Description
    User Reference (sys_user) The user associated to this precompute record
    Content Reference (sn_cd_content_base) The content the user has access to
    Domain Sys Domain Domain separation field
    Note:
    The data in the table should only be added through the Sync flow and should not be manually changed.

    Precompute Flow for Automatic Sync Trigger

    1. New Scheduled Job exists titled Content Publishing: Precompute Audiences for Company Events that is scheduled to run every 24 hours at 00:30.
    2. When job triggers, check all high traffic company events from the current hour to the next 30 hours.
    3. For each event that is found, precompute the audience to record the user and the content in the precompute table.
    4. Check the Scheduled Job titled Content Publishing: Precompute Audiences for Company Events for the precompute flow cleanup.
    5. When job triggers, calculate unique events among existing precompute audience records.
    6. For each company event calculated, check if it has ended. If ended, delete all precompute records associated to it.
    Table 2. Manual Sync Triggers
    Precompute Flow Examples
    Full manual sync A system admin can manually run the Scheduled Job Content Publishing: Precompute Audiences for Company Events to fully sync the precomputed audience table.
    Partial manual sync

    A Content Admin can browse to the sn_cd_company_event table, find a specific event, and select the Precompute Audiences for this Content UI Action.

    Note:
    This only removes users who don’t belong in a content audience anymore and is used in last minute cases to ensure only users who should have access can view content.

    Precomputed Audience Check Flow

    1. User accesses a Company Event with high traffic performance optimization enabled.
    2. Performance optimization check is initiated.
      1. Queries precompute audience table with content ID and current user ID.
      2. If a user is found, start loading the article.
      3. If no user is found, initiate standard access check.

    Standard Audience Check Flow

    Note:
    The standard audience check is the current state and is still used in cases when precompute is not in use.
    1. User accesses a Company Event.
    2. Access check is initiated.
      1. Queries schedule content table for each schedule associated to the content being viewed.
      2. For each schedule content record, iterate each associated audience.
      3. For each audience, run.isUserInAudience(). This evaluates if the current user is in the audience.
      4. If a user is found, start loading the article.
      5. If no user is found, iterate each audience associated for each schedule content record.
      6. If a user is never found, show the empty state article detail page.