Debugging - jean/wekan GitHub Wiki

TODO

Quote from advise:

Identify the core service your app is providing and make sure it is running independently. Put everything non-critical, including reporting, on some other system.

Look at scaling tips here, quote:

smeijer commented 25 days ago Just wanted to let know that I haven't experienced this issue anymore since I've replaced a lot of meteor publications with apollo/graphql requests.

The reactivity is thereby lost, but in my case a 30sec poll is also fine. On the places that I do require reactivity, I only publish a single timestamp. This timestamp is passed through to apollo, which triggers a refetch when the timestamp is changed.

The discussion here has also been helpfull to improve performance here and there.

Rocket.Chat scaling tips

Kadira

Finding memory leaks

Collect a heap profile and then analyze it

Older article: How to Self Detect a Memory Leak in Node

100% CPU usage

  1. Increase ulimit system wide to 100 000 in systemd config.

  2. Wekan Javascript code has increaded fiber poolsize.

  3. There is on-going 100% CPU usage Meteor issue and hopefully fixes to Node.js will land in Node v8.12 sometime. Node 8.12 is now released and official version included at Wekan.

Scaling to thousands of users

Production setup at AWS

Current versions of dependencies

Dockerfile, versions of Meteor.js, Node etc listed at beginning.

Included Meteor packages

Included Meteor package versions

Added packages at package.json

Build from source

Wekan:

Wekan for Sandstorm:

  • Install above Wekan from source
  • Install Sandstorm locally with curl https://install.sandstorm.io | bash, select dev install
  • Install meteor-spk
  • Get 100% CPU issue fibers fixed node, and copy it to spk directory:
    wget https://releases.wekan.team/node
    chmod +x node
    mv node ~/projects/meteor-spk/meteor-spk-0.4.0/meteor-spk.deps/bin/
  • Add to your /home/username/.bashrc :
    export PATH=$PATH:$HOME/projects/meteor-spk/meteor-spk-0.4.0
  • Close and open your terminal, or read settings from .bashrc with
    source ~/.bashrc
  • cd wekan && meteor-spk dev
  • Then Wekan will be visible at local sandstorm at http://local.sandstorm.io:6080/
  • Sandstorm commands: sudo sandstorm. Release scripts. Official releases require publishing key that only xet7 has.

Docker:

  • git clone https://github.com/wekan/wekan
  • cd wekan
  • Edit docker-compose.yml script ROOT_URL etc like documented at https://github.com/wekan/wekan-mongodb docker-compose.yml script
  • docker-compose up -d --build
⚠️ **GitHub.com Fallback** ⚠️