PHP-FPM et HTTPD

La nouvelle version HTTPD 2.4 est disponible, comme ceci le moteur PHP-FPM peut-être installé plus facilement et utilisable avec le module mod_proxy_fcgi.
Le blog famillecollet a publié un tutorial pour vous montrer comment mettre en place ce moteur.
L'article montre les étapes suivantes :
Installation
Création d'un site web exemple
Désactiver mod_php
Configurer le proxy
Configurer le proxy pour phpMyAdmin et MySQL
Toutes les lignes de commandes sont fournies pour vous faciliter l'utilisation.

MySQL 5.6 rock

Depuis quelques jours, les benchmarks sont très présents pour définir les meilleures performances de chacune d'elles.
Olivier dasini a publié sur son blog, un bench autour du moteur InnoDB et a effecttué les tests sur les bases de données suivantes :

  • Percona 5.5
  • MySQL 5.5 et 5.6
  • MariaDB 5.3 et 5.5


Les résultats obtenus sont assez proches, et dans l'article, vous verrez la technique utilisée, les résultats dans un tableau et dans un graphique.

Benchmark optimisé MariaDB 5.3

Axel Schwenke a publié sur le blog de MontyProgram et s'est penché sur les performances de MariaDB 5.3 par rapport à différentes versions de MySQL.
Le point de comparaison s'est principalement porté sur les requêtes complexes, souvent réalisée en sous-requêtes. Le résultat publié est représenté sous la forme d'un graphique et d'un tableau pour une meilleure compréhension.
Par ailleurs, l'auteur propose le script en C en version de téléchargement qui a permi de réaliser ce test et l'étude est utile à connaître pour votre prochain développement PHP.

MySQL 5.6 rock !

Comme d'habitude, mon but n'est pas de connaître les possibilités maximales du serveur (d'autres le font mieux que moi), mais plutôt d'avoir une idée assez précise de leurs comportements respectifs dans un environnement le plus proche possible de ma prod.

pour ce test, les candidats sont, Percona 5.5, MariaDB 5.3 & 5.5, MySQL 5.5 et la dernière milestone de MySQL 5.6. L'idée est de voir comment se comporte les différentes versions dans un contexte I/O bounds ie un faible hit ratio du buffer pool (ou du moins le plus bas possible), en d'autres termes, simuler le comportement du serveur MySQL dans un environnement où la quantité de données est énorme (comme à Viadeo).

API REST avec YQL

Le site programmeWeb revient sur une technique disponible depuis de nombreuses années qui consiste de tester une application (API) FUL REST avec YQL.
L'utilisation des applications REST sont de très répaNdu dans les sites webs. Cependant vous pouvez les utiliser avec YQL (Yahoo Query Langage) pour effectuer des requêtes très poussées avec des filtres à travers des services Webs. Bien sur, ces requêtes peuvent être manipuler avec PHP et MySQL
L'article montre comment utiliser les API REST avec un petit exemple facile à comprendre. Par ailleurs, il explique aussi le principe d'utilisation.

3 petites nouveautés que j'ai repéré dans l'indexer Sphinx : 3° --dump-rows

--dump-rows

Cette option va regénérer un code sql dans une fichier.

Ce code SQL va regénérer une table basée sur nom de la source d'indexation et en y insérant ce qui a été lu par l'indexation.

donc

si j'ai

source  ma_source {
(...)
sql_query = "Select id, nom, prenom, age From ma table_source"
}

ca va donner

Une table rows_ma_source

avec 4 colonnes dans la quelle on voit un insert des valeurs récoltées.

Google Summer of Code 2012 : la liste

La huitième édition du Google Summer of code (GSoC) vient d’être lancer et ouvert principalement aux étudiants pour une durée de réalisation durant le prochain été.
Les projets seront open source et ouvert aussi bien pour les Frameworks, que pour les CMS. Cependant, le développement est aussi ouvert à de nombreux langages (PHP, Python, Ruby…), mais aussi des bases de données (MySQL, PostgreSQL…).
La liste complète des thèmes est disponible en consultation.

3 petites nouveautés que j'ai repéré dans l'indexer Sphinx 2.0 : 2° --print-queries

C'est tout simple avec --print-queries on voit directement à l'écran les requêtes SQL qui sont exécutées.

C'est bien pratique pour le debug.

Ca me fait penser à une autre astuce, non spécifique à Sphinx, mais que j'ai commencé à utiliser avec Sphinx.

Dans mes requêtes sql , je met toujours derrière le select un commentaire par exemple

Select /* blablah */ champs1 From  matable

Pourquoi ?

pour la reconnaître facilement dans mytop.

Vous ne connaissez pas mytop ? et vous utilisez mysql ?

Faite donc vite un

sudo apt-get install mytop

et lisez ceci : http://wiki.goldzoneweb.info/mytop

3 petites nouveautés que j'ai repéré dans l'indexer Sphinx 2.0 : 1° --sighup-each

source : http ://sphinxsearch.com/docs/2.0.4/ref-indexer.html

--sighup-each

Problème en indexant plusieurs indexs avec un seul appel ca me donne

indexer --config sphinx.conf --rotate --quiet  chunk-1 chunk-2 chunk-3 chunk-4 chunk-5 chunk-6

Il fallait attendre que le chunk-6 soit fini pour que le chunk1 indexé depuis un certain temps soit en ligne. Dommage.

du coup j'avais refait

   ./indexer --config sphinx.conf --rotate --quiet chunk-1 && 
   ./indexer --config sphinx.conf --rotate --quiet chunk-2 && 
   ./indexer --config sphinx.conf --rotate --quiet chunk-3 && 
   ./indexer --config sphinx.conf --rotate --quiet chunk-4 && 
   ./indexer --config sphinx.conf --rotate --quiet chunk-5 && 
   ./indexer --config sphinx.conf --rotate --quiet chunk-6 

indigeste mais ca fonctionne mais indigeste quand …

[Lire plus]
Performance de votre site

Lorsque vous entendez surveillance web, et surtout la performance d’un site internet, cela signifie optimisation et améliorer de celui-ci.
Vous pouvez vous appuyer sur l’environnement AMP (Apache, PHP, MySQL) pour améliorer le développement, mais aussi Il existe de nombreux outils open source.
Le blog Monitour a regroupé de nombreux points à surveiller pour vous aider à avoir un regard différent de votre projet. L’article place en avant ceci :

  • Le cache
  • L’utilisation des expressions régulières
  • Optimisation du code
  • La manipulation de la mémoire
  • La compression
  • L’analyse des erreurs
  • Etc


Chaque point est expliqué en détails avec les quelques lignes de codes à utiliser

[Lire plus]