How to calculate the innodb_buffer_pool_size im my.cnf

In order to properly calculate the size of the innodb_buffer_pool_size directive in MySql configuration we need to find the RIBPS.
RIBPS is the : Recommended InnoDB Buffer Pool Size based on all InnoDB Data and Indexes with an additional 60%.

So you fire up an sql session and run the following query :

SELECT CEILING(SUM(data_length+index_length)/POWER(1024,2)) RIBPS FROM information_schema.tables WHERE engine='InnoDB';

The output is the number we are after :


+-------+
| RIBPS |
+-------+
| 5053 |
+-------+

So in the configuration of MySql server (usually in /etc/mysql/my.cnf)
we add the following :


[mysqld]
innodb_buffer_pool_size=5053M

Given the amount of data and index pages for your dataset, having a small Buffer Pool will just cause data and index pages accessed to rotate out and load new pages as needed (like low memory and swap in Linux). Having the Buffer Pool too big would just wastes RAM so its critical to set it just right.

Tip : Use the following query after the mysql db has run for a week or so (or before restarting it, so that you dont have to wait for another week!) to see how many actual pages of InnoDB data reside in the InnoDB Buffer Pool.

SELECT (PagesData*PageSize)/POWER(1024,3) DataGB FROM
(SELECT variable_value PagesData
FROM information_schema.global_status
WHERE variable_name='Innodb_buffer_pool_pages_data') A,
(SELECT variable_value PageSize
FROM information_schema.global_status
WHERE variable_name='Innodb_page_size') B;

Have fun!

The future of SEO – Part I

Yesterday i stumbled across a weird figure of google plus statistics that might become critical in the near future of SEO.

Considering that Google’s Pagerank algorithm increasingly focuses on social signals deriving from various sources, it is becoming clear that we are moving out from traditional link building to social media voting.

Authorship value, now linked  to the web through structured data, will heavily rely on user reviews and will be promoted through search as personalized content. Keywords will be replaced by contexts and keyword research and analysis in SEO will become obsolete, as geotargeting, voice search and social sharing will take search to a level where search queries will no longer be needed.

To be continued…

Downgrade PHP 5.4 to PHP 5.3

So you got your fresh Debian 7 installed and realized in terror that it ships with PHP 5.4!

Most of the popular CMS out there are not ready for the changes in php core yet so you actually need to downgrade php 5.4 to php 5.3.
Here is how :

Most of the commands are self explanatory so you could just just copy & paste them into cli.

Edit the /etc/apt/sources.list file

vi /etc/apt/sources.list

and add the old Debian 6 repositories

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free

save the file

Create the /etc/apt/preferences.d/preferences file that will allow us to “pin” the older php packages to whatever we like.
vi /etc/apt/preferences.d/preferences

and insert the packages you need to have downgraded to previous version
usually the following are enough but modify further if needed

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Now remove the pre-installed php 5.4 and all its dependencies with the following command
aptitude remove `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

Update the apt-get so we it can find the older php version
apt-get update

Tell the system to install the version we want and previously pinned in the preferences file
apt-get -t oldstable install `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`

Confirm success with the following
dpkg -l | grep php

Restart apache
/etc/init.d/apache2 restart

And there you have it! Brand old php 5.3 in Debian 7 :
Greeeat succeeeess!

borat_great_success

Ενα πολύ ωραίο άρθρο που εξηγεί πως φτάσαμε (οι πολίτες) ως εδώ…

Ένας από τους υπουργούς της κυβέρνησης Εθνικής Ενότητας, το 1974, είχε πάρει με το αυτοκίνητό του, το οποίο οδηγούσε ο ίδιος χωρίς σωματοφύλακες, κάποιον χωροφύλακα που του έκανε οτοστόπ. Να θυμίσω απλώς πως η τηλεόραση δεν είχε ακόμη μπει στην καθημερινή ζωή και την περίφημη «αναγνωρισιμότητα» των πολιτικών την έφτιαχναν οι φωτογραφίες των εφημερίδων, το πρόσωπό τους δεν είχε τη δύναμή του «άμα τη εμφανίσει».

Ο χωροφύλακας λοιπόν δεν αναγνώρισε τον υπουργό και εκμεταλλευόμενος τη δύναμη που είχε η στολή του στο καθεστώς των συνταγματαρχών, δύναμη η οποία ακόμη αντιστεκόταν, του έδινε διάφορες εντολές. «Θα πας από δω, στρίψε αριστερά, ίσια και φτάσαμε, μ’ αφήνεις στη γωνία». Ο υπουργός, ο οποίος δεν αποκάλυψε την ιδιότητά του ως το τέλος, λίγο πριν τον αποχαιρετήσει τον ρώτησε: «Καλά όλα αυτά αγαπητέ κύριε, αλλά γιατί μου μιλάτε στον ενικό;». Κι εκείνος, ειλικρινά απορημένος, τον αποστόμωσε με ένα: «Δημοκρατία έχουμε και τώρα μιλάμε στη δημοτική».

Ο άνθρωπος προσπαθούσε, με τον τρόπο του, να προσαρμοσθεί στα νέα ήθη των καιρών.

Ας προσθέσουμε σε αυτά και τους κανόνες της στοιχειωδώς ευγενούς συμπεριφοράς που εξοβελίστηκαν ως δείγμα υποκρισίας για να έχουμε πληρέστερη εικόνα της επανάστασης των ηθών. Ο λαός, και όλοι θέλαμε να ανήκουμε στον λαό εξαιρουμένων των μικροαστών, είχε χορτάσει από ησυχία, τάξη, ασφάλεια και εν γένει πειθαρχημένη συμπεριφορά ώστε, εν τη σοφία του, να θέλει να γλεντήσει τη δημοκρατία απαλλαγμένος από τέτοιου είδους περιορισμούς. Η τιμωρία, οποιαδήποτε τιμωρία, ακόμη και αυτή που επιβάλλεται στη σχολική τάξη ταυτίστηκε με την αντιδημοκρατική συμπεριφορά.

Αντιδημοκρατικοί έφτασαν να θεωρούνται ακόμη και οι κανόνες τήρησης της γραμματικής, του συντακτικού, της ορθογραφίας, του κώδικα οδικής κυκλοφορίας, καθώς και της προτεραιότητας όταν περιμένεις στην ουρά. Κι έτσι φτιάξαμε μια ευτυχισμένη κοινωνία που παρήγαγε ανενόχλητη θόρυβο και αταξία και αισθανόταν ασφαλής επειδή κανείς δεν φρόντιζε για την ασφάλειά της. Οι εκπρόσωποι του έθνους, οι συνδικαλιστές, οι τηλεοπτικοί προφήτες, όπως και όλοι οι υπόλοιποι κοινωνικοί θεσμοί, μηδέ της εκπαίδευσης και της Εκκλησίας εξαιρουμένων, κρίνονταν από την ικανότητά τους να οργανώσουν αυτό το χαριτωμένο χάος της αυθαιρεσίας. Τόσο χαριτωμένο το βρίσκαμε που φτάσαμε να τραγουδάμε εκείνο το περίφημο «Σ’ όποιον αρέσουμε για τους άλλους δεν θα μπορέσουμε».

Ώσπου μια μαύρη μέρα ξυπνήσαμε όλοι μαζί και ανακαλύψαμε ότι σε κανέναν δεν αρέσουμε. Και το χειρότερο δεν αρέσουμε ούτε σε μας τους ίδιους. Δεν ανεχόμαστε ο ένας τον άλλον και δεν ανεχόμαστε την εικόνα του εαυτού μας στον καθρέφτη.

Έχοντας απαξιώσει κάθε κύτταρο βιώσιμης κοινωνικής συμπεριφοράς, ψάχνουμε τώρα τις λίστες των προγραφών για να δούμε τι και ποιος μας φταίει. Παραγνωρίζοντας το γεγονός πως αν δεν είχαμε κουρελιάσει τη δημοκρατία τα δισ. που έφαγε ο ένας και ο άλλος θα ήταν τεχνικό και όχι υπαρξιακό πρόβλημα ολόκληρου του Έθνους.