FOR ARCHIVAL PURPOSES ONLY

The information in this wiki hasn't been maintained for a good while. Some of the projects described have since been deprecated.

In particular, the "Ushahidi Platform v3.x" section contains information that is often misleading. Many details about this version of Platform have changed since.

This website is an extraction of the original Ushahidi wiki into a static form. Because of that, functions like logging in, commenting or searching will not work.

For more documentation, please refer to https://docs.ushahidi.com

Skip to end of metadata
Go to start of metadata

This page collects various tips for speeding up your Ushahidi deployment. A lot of this will be general tricks that work with any website but they should be things your tried and tested with a live Ushahidi deployment. Many of these will require control of your server, or the cooperation of your web host.

Install xcache or APC

xcache and APC are opcode caches for PHP. On ubuntu/debian you can install these by running

or

Use memcache

  • Install memcached on your server
  • Install the PHP memcache extension
  • Copy system/config/cache_memcache.php to application/config/cache_memcache.php
    Edit the file and make sure the server details are correct
  • Edit application/config/cache.php and set the driver to memcache

Alternatively you could use xcache for caching too, the setup process is similar.

Enable page caching

  • Go to /admin/settings/site
  • Set 'Cache Pages' to 'YES'
  • Set 'Cache Pages Lifetime' as long as you like. If you set this to 15 minutes, then new updates may not show for up to 15 minutes (on the frontend).
    Even a 1 minutes cache lifetime could improve performance.

Disabled Scheduler JS

Ushahidi's regular tasks are run by the controller for /scheduler. By default the scheduler controller is triggered through an ajax request on every page.
This means that for some users, the page will appear to load for a long time while the scheduler finishes running. You still need scheduler to run, you just don't want users to have to wait for it.

  • You can disable the scheduler in application/config/config.php
  • Set this line to FALSE
  • Set up a cronjob on the server to load /scheduler. Something like this should work:

Deploy on nginx instead of apache

Deploying on nginx may be faster than apache, though this may depend on what else your hosting on your webserver.
See Installing Ushahidi v2.X on Nginx for details

Other resources