Eli : Memcached, MySQL, Highcharts

Solve Wrong permissions on - Eli : Memcached, MySQL, Highcharts

Solve Wrong permissions on configuration file, should not be world

Solve Wrong permissions on configuration file, should not be world writable! error on phpMyAdmin

Introduction

phpMyAdmin want config.inc.php to be not world writable, it's sound simple, but not if you run phpMyAdmin from an NTFS filesystem (in my case, linux server who mount a Windows folder) it's not that simple. There are two way to solve this problem :

Simple way, Linux Server, Linux Filesystem

Just chmod 0755 the file

chmod 0755 config.inc.php


Linux or Windows Server, NTFS Filesystem

If like me you run a Linux Virtual Machine who mount a Windows folder where phpMyAdmin sources are located, edit config.inc.php and add this line :

$cfg['CheckConfigurationPermissions'] = false;

This will tell phpMyAdmin to stop checking for fileperm because they can't be properly detected.

Hope this help


Highcharts French Translation Javascript Code

Simple Javascript code to translate the Highchart Tools in french language.
Put this code before calling for a new Highchart graphic

Highcharts French Translation Javascript Code

    Highcharts.setOptions({
        lang: {
            months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
                          'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
            weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 
                             'Jeudi', 'Vendredi', 'Samedi'],
            shortMonths: ['Jan', 'Fev', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil',
                                'Aout', 'Sept', 'Oct', 'Nov', 'Déc'],
            decimalPoint: ',',
            downloadPNG: 'Télécharger en image PNG',
            downloadJPEG: 'Télécharger en image JPEG',
            downloadPDF: 'Télécharger en document PDF',
            downloadSVG: 'Télécharger en document Vectoriel',
            exportButtonTitle: 'Export du graphique',
            loading: 'Chargement en cours...',
            printButtonTitle: 'Imprimer le graphique',
            resetZoom: 'Réinitialiser le zoom',
            resetZoomTitle: 'Réinitialiser le zoom au niveau 1:1',
            thousandsSep: ' ',
            decimalPoint: ','
        }
    });

Hope this help.


Memcached 1.4.15 Released

Overview

This is a somewhat experimental release which pushes thread performance even more than before. Since this is a more experimental release than usual, and contains no other major fixes or features, we urge some caution for important deployments. We feel as though it is high quality software, but please take caution and do slow rollouts or testing. Thanks !

Fixes

  • Add some mild thread documentation
  • README.md was missing from dist tarball
  • Issue 286 : --disable-coverage drops "-pthread" option
  • Reduce odds of getting OOM errors in some odd cases


New Features

Thread scalability is much improved for reads, and somewhat improved for writes. In a pure read-only situation on a dual socket six core NUMA machine I've tested key fetch rates around 13.6 million keys per second.
More tuning is necessary and you'd get significant lag at that rate, but that shows the theoretical limit of the locks.

Download

You can download it from : http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz


Memcached 1.4.12 Released

Overview

Fix a small number of bugs, mostly in building on different platforms.

Fixes

  • Fix glitch with flush_all (exptime)
  • Skip SASL tests unless RUN_SASL_TESTS is defined.
  • Look around for saslpasswd2 (typically not in the user's path).
  • Build fix: Define sasl_callback_ft on older versions of sasl.
  • Fix segfault when sending a zero byte command
  • Fix warning in UDP test
  • Properly detect GCC atomics
  • Tests: loop on short binary packet reads
  • Fix slabs_reassign tests on 32bit hosts


New Features

None.

Download

You can download it from : http://memcached.googlecode.com/files/memcached-1.4.12.tar.gz


Memcached 1.4.11 Released

Release notes from official site :

Overview

This release fixes race conditions and crashes introduced in 1.4.10, they should be rare, but users are strongly encouraged to upgrade.
Adds the ability to rebalance and reassign slab memory.

Fixes

  • Don't compute incorrect argc for timedrun
  • Fix 'age' stat for stats items
  • Binary deletes were not ticking stats counters
  • Fix a race condition from 1.4.10 on item_remove
  • Close some idiotic race conditions
  • Initial slab automover
  • Slab reassignment
  • Clean do_item_get logic a bit. fix race.
  • Clean up the do_item_alloc logic
  • Shorten lock for item allocation more
  • Fix to build with cyrus sasl 2.1.25


New Features

Slab Reassign

Long running instances of memcached may run into an issue where all available memory has been assigned to a specific slab class (say items of roughly size 100 bytes). Later the application starts storing more of its data into a different slab class (items around 200 bytes). Memcached could not use the 100 byte chunks to satisfy the 200 byte requests, and thus you would be able to store very few 200 byte items.

1.4.11 introduces the ability to reassign slab pages. This is a beta feature and the commands may change for the next few releases, so please keep this in mind. When the commands are finalized they will be noted in the release notes.

Enable slab reassign on startup:

$ memcached -o slab_reassign

Once all memory has been assigned and used by items, you may use a command to reassign memory.

$ echo "slabs reassign 1 4" | nc localhost 11211

That will return an error code indicating success, or a need to retry later. Success does not mean that the slab was moved, but that a background thread will attempt to move the memory as quickly as it can.

Slab Automove

While slab reassign is a manual feature, there is also the start of an automatic memory reassignment algorithm.

$ memcached -o slab_reassign,slab_automove

The above enables it on startup, and it may also be enabled or disabled at runtime:

$ echo "slabs automove 0" | nc localhost 11211

The algorithm is slow and conservative. If a slab class is seen as having the highest eviction count 3 times 10 seconds apart, it will take a page from a slab class which has had zero evictions in the last 30 seconds and move the memory.

There are lots of cases where this will not be sufficient, and we invite the community to help improve upon the algorithm. Included in the source directory is scripts/mc_slab_mover. See perldoc for more information:

$ perldoc ./scripts/mc_slab_mover

It implements the same algorithm as built into memcached, and you may modify it to better suit your needs and improve on the script or port it to other languages. Please provide patches!

Slab Reassign Implementation

Slab page reassignment requires some tradeoffs:
All items larger than 500k (even if they're under 730k) take 1MB of space
When memory is reassigned, all items that were in the 1MB page are evicted
When slab reassign is enabled, an extra background thread is used
The first item will be improved in later releases, and is avoided if you start memcached without the -o slab_reassign option.

New Stats

STAT slab_reassign_running 0
STAT slabs_moved 0

slab_reassign_running indicates if the slab thread is attempting to move a page. It may need to wait for some memory to free up, so it could take several seconds.

slabs_moved is simply a count of how many pages have been successfully moved.


You can download it from : http://memcached.googlecode.com/files/memcached-1.4.11.tar.gz


- page 2 of 9 -