OpenX memcached configuration

Configuring OpenX memcached will help you significantly speed up your banner delivery and i recommend you to use it instead of the default file File based cache.

OpenX memcached configuration from Web Interface

This tutorial has been made with openx 2.8.10 but should work on most of the 2.8.x installations.

First you need to go to plugin section and configure memcached servers. This can be tricky since there is no direct access from the web interface.

You need to change the end of the url with:  /plugin-settings.php?group=oxMemcached ( for default installation you should get http://domain.com/www/admin/plugin-settings.php?group=oxMemcached )

Add your memcached server and port if it’s default installation on the same machine add localhost:11211 and expiry time of 600 seconds.

OpenX memcached

 

You can also use memcached with multiple instances.

Now you need to go in Configuration->Banner Delivery Settings and set Time Between Banner Cache Updates to 600 seconds and change Banner Delivery Cache Store Type to Memcached.

OpenX Banner Delivery

 

This can significantly improve the performance of your OpenX server, and your pageload will be much faster.

OpenX memcached configuration from command line

Also this can be done from the command line by changing this lines in you var/yourdomain.com.conf/php

vi var/yourdomain.com.conf/php
[Delivery]
cacheExpire = 600
cacheStorePlugin = "deliveryCacheStore:oxMemcached:oxMemcached"
[OxMemcached]
memcachedServers = "localhost:11211"
memcachedExpireTime = 600

This is just one of the tricks you can do on your OpenX server, for more tuning check the Performance Tuning section of OpenX developer zone.

 

Nikola Stojanoski

System Administrator and Developer. Giving back to the community by blogging about my problems, solutions and practical howto's.

  • On an openx installation I was configuring memcached and I get the error “There is no support for memcached in your PHP installation”. I have Memcached deamon 1.4.5 enabled and libmemcached version is 1.0.4. I see that OpenX is expecting extension Memcache and not Memcached. I tried replacing new Memcache() with new Memcached() and the test for class_exists(memcache) with that for class_exists(memcached). However I ran into the error “undefined symbol: memcached_server_micro_version” when trying to configure the www/admin/plugin-settings.php?group=oxMemcached&parent=openXDeliveryCacheStore. I am able to call new Memcached() in a test.php file and use the memcached object returned. So I would think that this has something to do with what OpenX is trying to do with the memcache object returned. Any pointers would be much appreciated.

    • Nikola Stojanoski

      do you have php5-memcached installed? there are two memcache extensions:

      php5-memcache: This extension allows you to work with memcached through handy OO and procedural interfaces in your php5 applications.

      php5-memcached: This extension uses libmemcached library to provide API for communicating with memcached servers.

      I have them both installed, but i think you need php5-memcached.

      Regards,
      Nikola