SEO Page Generator Performance Statistics

This topic applies to

Applies to

SuiteCommerce Web Stores

Even though the SEO page generator runs your website and executes all JavaScript code and AJAX requests as it would be executed by a browser, it is constrained by memory and time limits. The SEO Page Generator performance statistics help you analyze the resource usage so that you can track how close you are to the limits. You can then use this information to optimize your code to avoid reaching the limits.

The memory limit for a page is 96 megabytes and the time limit to generate this page is 30 seconds. Since this limit includes objects created by JavaScript, it is crucial to optimize your JavaScript and use minimal AJAX calls.

Important

For HTTPS websites, the time limit to generate a page is 20 seconds instead of the usual 30 seconds.


While customizing a page, use the SEO page generator debug output to analyze the resource usage and debug the long-running or memory-intensive scripts. To view the debug log provided by the SEO page generator, see Troubleshooting Your Website.

The seodebug log displays a number of performance metrics that can be used to analyze the resource usage. The following table describes the various performance metrics included in the seodebug log.

Name

Type

Description

wallTime

Timing Statistics

The overall time spent to generate your page.

threadCpuTime

Timing Statistics

The amount of CPU time spent to generate your page.

memLimit

Memory Usage Statistics

Maximum amount of memory available. memLimit is currently 96 megabytes for the SEO Page Generator.

maxUsedMem

Memory Usage Statistics

Maximum amount of memory used by the SEO page generator at any point during the process.

finalUsedMem

Memory Usage Statistics

Memory in use at the end of the process.

finalFreeMem

Memory Usage Statistics

Difference between the memory limit (memLimit) and the final used memory size (finalUsedMem).

finalHeapSize

Memory Usage Statistics

The size of the heap at the end of the process. finalHeapSize does not denote the amount of memory that has been used at any point in the run. The heap grows in response to the growth of used memory, but is allocated in blocks to maintain some free space within the heap. Therefore, the final heap size is likely to be significantly larger than any used memory metric.

The performance statistics in the seodebug log looks similar to the following:

[04:10:38.222] [   +0 ms ] Source URL: 'http://example.com'; Time [ms]: 6127; Perf info: wallTime [ms]: 6085 threadCpuTime [ms]: 3672 maxUsedMem [kb]: 63307 finalUsedMem [kb]: 63307 finalFreeMem [kb]: 34996 finalHeapSize [kb]: 69491 memLimit [kb]: 98304

Note

A high value of maxUsedMem or finalHeapSize should be considered as a warning sign of memory pressure, even if the value of finalUsedMem is low. This is because used memory can decrease over the course of a run due to garbage collection.

Therefore, the value of finalUsedMem when analyzed in conjunction with the value of maxUsedMem and finalHeapSize can be a good indicator of peak memory usage.