Versions Compared

Key

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

...

Overview

...

To improve front-end performance HostBill executes long-running tasks in the background queue. Those include, but not limit to:

...

When installing it's required to add crontab entry to run queue.php file every minute.

Improving Queue Performance

...

If you check Extras → System Logs → Task queue log in your HostBill, and find that there is a lot of tasks in Pending state, it means that queue is not performing well, which is caused by too-few queue workers available. To fix:

  • Non enterprise-install
    (HostBill installed manually - not through install.sh script; HostBill installed on control panel account; i.e: on cPanel)
    • If it's possible on your environment, try to install PHP extensions: POSIX and PCNTL
      Make sure that those extension functions extensions function like pcntl_fork are in disable_functions php.ini declaration for web, and are not disabled for cli usage.
    • If option above is not possible to do, duplicate cron entry for queue.php multiple times (ie 5x):

      Code Block
      languagetext
      * * * * * php -q /path/to/hb/queue.php
      * * * * * php -q /path/to/hb/queue.php
      * * * * * php -q /path/to/hb/queue.php
      * * * * * php -q /path/to/hb/queue.php
      * * * * * php -q /path/to/hb/queue.php


  • Enterprise install
    (HostBill installed through install.sh script, required php extensions are already in place) 
    If particular queue is not performing well (ie. Mailing queue is too slow) you can increase number of workers that this queue have active at once. To do so:
    • Login to your HostBill server through ssh.
    • Switch to HostBill user ( # su hostbill )
    • Run queue.php with -h argument to get list of queue options:

      Code Block
      languagetext
      php -q /path/to/hb/queue.php -h


    • In response to command above find argument responsible for setting number of workers on queue you wish to increase, ie: --hb_mail_queue=NUMBER
    • Edit crontab ( # crontab -e -u hostbill ) for HostBill user
    • To queue.php entry add argument with increased number of workers on queue you wish to speed up, like:
       

      Code Block
      languagetext
      * * * * * php -q /path/to/hb/queue.php --hb_mail_queue=6


...