Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

NOTE: Here's the Google Lighthouse performance as of Oct 13, 2022 (Running DSpace 7.4):


UPDATE: Here's the Google Lighthouse performance as of Feb 15, 2023 (Running DSpace 7.5, with "page caching" enabled for anonymous users):

Image Added


DSpace-CRIS 7 Demo Site UI infrastructure

...

Environment="JAVA_OPTS=-Djava.awt.headless=true -Xmx8G -Xms2G -Dfile.encoding=UTF-8"

Update:

We had some success with running more than one instance of the frontend using PM2 Cluster Mode. It made our response times significantly better. But we are still far from an acceptable performance. This is our new PM2 configuration file:

Code Block
titledspace-ui.json
{
  "apps": [
    {
      "name": "dspace-ui",
      "cwd": "/srv/dspace-ui-deploy",
      "script": "dist/server/main.js",
      "instances" : 4,
      "exec_mode" : "cluster",
      "node_args": "--max_old_space_size=4096",
      "env": {
        "NODE_ENV": "production",
        "DSPACE_REST_SSL": "true",
        "DSPACE_REST_HOST": "api-depositonce.tu-berlin.de",
        "DSPACE_REST_PORT": "443",
        "DSPACE_REST_NAMESPACE": "/server"
      }
    }
  ]
}


Optimization Strategies

(tick) Node.js configuration for multi-threading

TODO Andrea Bollini (4Science) mentioned in the meeting on Oct 13, 2022 that 4Science has discovered that the default setup of Node.js can be limiting for sites with a lot of users simply because Node.js is single threaded.  He noted that 4Science has found ways to configure Node.js to better support many users by allowing Node.js to use all your CPU, etc.   Those configurations / setup should be documented here

4Science notes: Optimization of the hosting environment is one of the area where the competition across service providers is higher. At 4Science we have and we are investing a lot in tools to monitor, enhance and benchmark different setup and these findings constitute one of our competitive advantages. In the spirit of the open source community and in the respect of the investment done, we are happy to share some of these findings with the community.

...

In our opinion, If you really want to go with a single all in one server you should use not less than 8vCPU and 32GB of RAM

ACTION: Updated all DSpace Documentation to include this hint, especially Performance Tuning DSpace.

Minimize size of main.js 

TODO Team needs to investigate if there are ways to further minimize the size of the main.js file (noted by Lighthouse as being too large) via lazy loading or similar strategies. 

In 7.5, work on this was completed in https://github.com/DSpace/dspace-angular/issues/1921 (see PRs attached/linked to this ticket)

Examples: https://christianlydemann.com/the-complete-guide-to-angular-load-time-optimization/

...

  • Homepage
  • Item splash pages
  • (Possibly others? Community/Collection splash pages?)

Page Caching

Improvements to page caching was completed in 7.5, see https://github.com/DSpace/dspace-angular/pull/2033

Tools

webpack-bundle-analyzer

...