Répartir la charge
23 messages
• Page 2 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
- Nitou
- WRInaute impliqué

- Messages: 929
- Inscription: 1 Déc 2002
Jocelyn a écrit:Je conseille de regarder dans le guide Apache sur l'URL rewriting, qui comporte un paragraphe dédié à la technique de la répartition de charge
Jocelyn
J'aurais bien voulu le faire avec la méthode citée dans cette page mais le script PERL qui va avec ne semble pas fonctionner
- Nitou
- WRInaute impliqué

- Messages: 929
- Inscription: 1 Déc 2002
Dites quelqu'un aurait la solution à ce probleme :
Je m'explique, pour avoir l'utime du serveur, le script s'execute ainsi :
Cependant j'ai un gros probleme, PHP interdit les backquotes "`utime`" par contre perl qui utilise la meme commande, lui l'autorise donc j'ai essayer un truc de ce genre :
Uptime.pl lui donne ça : 5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10
Si je remplace $buffer = readfile('/home/path/uptime.pl'); par $buffer = "5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10"; le script fonctionne correctement, donc j'en déduis que le buffer n'arrive pas à récupérer la variable de uptime.pl, je pense que c'est mon code qui n'est pas bon, Quelqu'un aurait une idée ?
uptime.pl lui ne sort rien d'autre qu'une ligne quand on l'éxécute à savoir : "5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10"
Merci de votre aide :(
Je m'explique, pour avoir l'utime du serveur, le script s'execute ainsi :
- Code: Tout sélectionner
$buffer = `utime`
ereg("averages: ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]*)", $buffer, $load);
return max((float)$load[2], (float)$load[3], (float)$load[4]);
Cependant j'ai un gros probleme, PHP interdit les backquotes "`utime`" par contre perl qui utilise la meme commande, lui l'autorise donc j'ai essayer un truc de ce genre :
- Code: Tout sélectionner
$buffer = readfile('/home/path/uptime.pl');
ereg("averages: ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]*)", $buffer, $load);
return max((float)$load[2], (float)$load[3], (float)$load[4]);
Uptime.pl lui donne ça : 5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10
Si je remplace $buffer = readfile('/home/path/uptime.pl'); par $buffer = "5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10"; le script fonctionne correctement, donc j'en déduis que le buffer n'arrive pas à récupérer la variable de uptime.pl, je pense que c'est mon code qui n'est pas bon, Quelqu'un aurait une idée ?
uptime.pl lui ne sort rien d'autre qu'une ligne quand on l'éxécute à savoir : "5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10"
Merci de votre aide :(
- Jocelyn
- WRInaute impliqué

- Messages: 564
- Inscription: 6 Nov 2002
Je n'ai pas testé le script de répartition de charge en perl auquel je faisais référence, donc je ne peux rien en dire d'autre.
Pour le PHP, quelques idées :
- PHP n'interdit les backquotes, mais le "safemode" de PHP, s'il est activé, les interdit
- la fonction utime() (ou un équivalent) n'existe pas (ou j'ai mal cherché)
- la fonction readfile est interdite par le "safe mode"
- la fonction readfile renvoie un code d'erreur qui permet de savoir si elle s'est correctement exécutée
- si le fichier '/home/path/uptime.pl' n'est pas dans DOCUMENT_ROOT ni dans include_path, ça ne fonctionnera pas
- on peut utiliser fread pour obtenir le même résultat
- au besoin, modifier la valeur de error_reporting et de 'display_errors' grâce à ini_set
Voila, pas d'autres suggestions. :wink:
Jocelyn
Pour le PHP, quelques idées :
- PHP n'interdit les backquotes, mais le "safemode" de PHP, s'il est activé, les interdit
- la fonction utime() (ou un équivalent) n'existe pas (ou j'ai mal cherché)
- la fonction readfile est interdite par le "safe mode"
- la fonction readfile renvoie un code d'erreur qui permet de savoir si elle s'est correctement exécutée
- si le fichier '/home/path/uptime.pl' n'est pas dans DOCUMENT_ROOT ni dans include_path, ça ne fonctionnera pas
- on peut utiliser fread pour obtenir le même résultat
- au besoin, modifier la valeur de error_reporting et de 'display_errors' grâce à ini_set
Voila, pas d'autres suggestions. :wink:
Jocelyn
- Nitou
- WRInaute impliqué

- Messages: 929
- Inscription: 1 Déc 2002
Jocelyn a écrit:Je n'ai pas testé le script de répartition de charge en perl auquel je faisais référence, donc je ne peux rien en dire d'autre.
Pour le PHP, quelques idées :
- PHP n'interdit les backquotes, mais le "safemode" de PHP, s'il est activé, les interdit
- la fonction utime() (ou un équivalent) n'existe pas (ou j'ai mal cherché)
- la fonction readfile est interdite par le "safe mode"
- la fonction readfile renvoie un code d'erreur qui permet de savoir si elle s'est correctement exécutée
- si le fichier '/home/path/uptime.pl' n'est pas dans DOCUMENT_ROOT ni dans include_path, ça ne fonctionnera pas
- on peut utiliser fread pour obtenir le même résultat
- au besoin, modifier la valeur de error_reporting et de 'display_errors' grâce à ini_set
Voila, pas d'autres suggestions. :wink:
Jocelyn
Merci Jocelyn :wink:
Le probleme c'est que pour qu'il récupère ce qu'il y a dans uptime.pl il faut qu'il l'execute pour qu'il soit lu par PERL car si je lui donne le DOCUMENT_ROOT il va lire ce qu'il y a dans le fichier uptime.pl mais il me donnera pas l'Uptime du serveur car il ne sera pas interprété, ce que je cherche c'est comment ouvrir avec une URL du genre http://www.site.com/uptime.pl
donc si j'ouvre l'url avec un readfile par exemple, il charge bien la page mais il ne garde pas l'uptime (5:55PM up 9 days, 5:01, 0 users, load averages: 1.37, 1.21, 1.10) pour le donner au buffer :((
Si quelqu'un sait, merci d'avance :)
- Nitou
- WRInaute impliqué

- Messages: 929
- Inscription: 1 Déc 2002
Finalement j'ai réussi grâce à toi :)
Merci beaucoup
J'ai fais ça en fait :
Si tu penses que ça peut etre optimisé, dis le stp :)
Encore merci
Merci beaucoup
J'ai fais ça en fait :
- Code: Tout sélectionner
$filename = "http://www.site.com/dossier/uptime.pl";
$fd = fopen($filename, "r");
$buffer = fread($fd, filesize ($filename));
ereg("load averages: ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]*)", $buffer, $load);
return max((float)$load[2], (float)$load[3], (float)$load[4]);
fclose($fd);
Si tu penses que ça peut etre optimisé, dis le stp :)
Encore merci
- Jocelyn
- WRInaute impliqué

- Messages: 564
- Inscription: 6 Nov 2002
Bon, tant mieux , ma liste de suggestions a servi à quelque chose. C'était quoi ? problème de "safe mode" ?
Oui, je propose une optimisation de l'expression régulière :
devrait fonctionner aussi avec les exemples que tu as précédemment donnés.
{n} -> exactement n fois ce qu'il y a dans le groupe de parenthèses qui précède.
Remarque : tu devras faire des essais pour savoir quels sont les éléments du tableau $load qui t'intéressent.
Jocelyn
Oui, je propose une optimisation de l'expression régulière :
- Code: Tout sélectionner
ereg("load averages: ([0-9]\.[0-9]{2})(, ([0-9]\.[0-9]{2})){2}", $buffer, $load);
devrait fonctionner aussi avec les exemples que tu as précédemment donnés.
{n} -> exactement n fois ce qu'il y a dans le groupe de parenthèses qui précède.
Remarque : tu devras faire des essais pour savoir quels sont les éléments du tableau $load qui t'intéressent.
Jocelyn
- Nitou
- WRInaute impliqué

- Messages: 929
- Inscription: 1 Déc 2002
Jocelyn a écrit:Bon, tant mieux , ma liste de suggestions a servi à quelque chose. C'était quoi ? problème de "safe mode" ?
Oui, je propose une optimisation de l'expression régulière :
- Code: Tout sélectionner
ereg("load averages: ([0-9]\.[0-9]{2})(, ([0-9]\.[0-9]{2})){2}", $buffer, $load);
devrait fonctionner aussi avec les exemples que tu as précédemment donnés.
{n} -> exactement n fois ce qu'il y a dans le groupe de parenthèses qui précède.
Remarque : tu devras faire des essais pour savoir quels sont les éléments du tableau $load qui t'intéressent.
Jocelyn
Le probleme est effectivement lié au safemode, du moins je pense mais la fonction readfile fonctionne :?: :?:
Merci pour tes suggestions :)
- olivierb
- WRInaute discret

- Messages: 110
- Inscription: 11 Juil 2003
salut,
je fais remonter ce sujet car j'ai testé le système round-robin mais ça ne semble pas marcher.
Tout le monde arrive à chaque fois sur le meme serveur.
J'ai mis ceci dans mon fichier d'enregistrement
et si je fais une requete avec dig j'obtiens un message d'erreur
alors que si je retire les lignes avec le cname j'ai une section "answer" et le statut "noerror"
ou me suis-je trompé ??
merci
Olivier
je fais remonter ce sujet car j'ai testé le système round-robin mais ça ne semble pas marcher.
Tout le monde arrive à chaque fois sur le meme serveur.
J'ai mis ceci dans mon fichier d'enregistrement
- Code: Tout sélectionner
$ttl 86400
internetservices-fr.com. IN SOA ns1.i-services.net. webmaster.i-services.net. (
2003011604
21600
3600
604800
86400 )
internetservices-fr.com. IN NS ns1.i-services.net.
IN NS ns.ovh.net.
IN MX 10 mail.internetservices-fr.com.
IN A 213.186.39.149
www0 IN A 213.186.39.149
www1 IN A 213.186.39.207
mail IN A 213.186.39.149
smtp IN A 213.186.39.149
sql IN A 213.186.39.207
dev IN A 213.186.39.207
www IN CNAME www0.internetservices-fr.com.
IN CNAME www1.internetservices-fr.com.
et si je fais une requete avec dig j'obtiens un message d'erreur
- Code: Tout sélectionner
[root@ns1 root]# dig www.internetservices-fr.com @ns1.i-services.net
; <<>> DiG 9.2.3 <<>> www.internetservices-fr.com @ns1.i-services.net
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 42762
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.internetservices-fr.com. IN A
;; Query time: 1 msec
;; SERVER: 213.186.39.149#53(ns1.i-services.net)
;; WHEN: Mon Dec 15 19:51:45 2003
;; MSG SIZE rcvd: 45
alors que si je retire les lignes avec le cname j'ai une section "answer" et le statut "noerror"
ou me suis-je trompé ??
merci
Olivier
23 messages
• Page 2 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Répartir la charge d'un site sur 2 serveurs
- Ne pas repartir le Pr
- repartir à zero avec un forum
- Mauvaise indexation -> Repartir de 0.
- Repartir de zéro : Comment faire ?
- Repartir après une interruption
- Garder un vieux ndd francophone ou repartir de zero ?
- Répartir un budget quotidien en fonction du jour de la semaine
- La régie AD42 semble repartir ? Qu'en pensez-vous ?
- SandBox => Repartir sur de bonnes bases ou rattraper le coup ?
- Google lève le voile sur son algorithme de recherche (positionnement) - 21-05-2008
- Formation au référencement Internet plébiscitée : Ranking Metrics - 31-10-2009
- Des stats AdSense détaillées ! - 19-03-2004
- Référencement : les dépenses du gouvernement français en 2009 - 21-05-2010
- Jeu dans une vidéo YouTube de publicité pour Chrome - 06-09-2010
- Forum WebRankInfo : un membre du moteur de recherche Voila.fr vient discuter - 09-11-2007
- Indexation du Flash : Google sait gérer les XML/txt externes - 19-06-2009
- Stratégies financières sur l'évolution de l'architecture Google - 26-11-2005
Consultez la description détaillée des produits ou services de Google suivants : Google Talk
- Stratégies de mots-clés
Cet outil vous permet de créer à partir de quelques mots-clés une liste d'expressions constituées des mots pris dans tous les ordres possibles. Il sert aux analyses de positionnement et achats de mots-clés.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
