HELP - Pourquoi OVH a t il désactivé ce script ???

HELP - Pourquoi OVH a t il désactivé ce script ??? - PHP - Programmation

Marsh Posté le 29-01-2003 à 20:50:43    

OVH a désactivé mon script mais je vois pas ce qui cloche dedans ???
Si vous voyez un truc qui peut foutre la merde sur un serveur  :??:  
 
 
<?
//Se connecter à la base pour insérer les enregistrements
require("conf.php3" );
$db = mysql_connect($serveur, $utilisateur, $motDePasse);  
mysql_select_db($sql_bdd,$db);
 
$resultstart=$dis+1;
$rangeplus=$dis+50;
$rangemoins=$dis-50;
$reponses = mysql_query("SELECT * FROM link where file like \"%$find%\"" );
 
if ($rangeplus>=mysql_num_rows($reponses))
 {
 $rangeplus=mysql_num_rows($reponses);
 $goto ="<a href=search.php?find=".$find."&dis=0>Précédent</a>";
 }
 else
 {
  if ($dis<=50)
  {
  $goto ="<a href=search.php?find=".$find."&dis=0>Précédent</a> <a href=search.php?find=".$find."&dis=".$rangeplus.">Suivant</a>";
  }
  else
  {
  $goto ="<a href=search.php?find=".$find."&dis=$rangemoins>Précédent</a> <a href=search.php?find=".$find."&dis=".$rangeplus.">Suivant</a>";
  }
 }
 
echo "Résultats ".$resultstart." à ".$rangeplus." sur ".mysql_num_rows($reponses)." réponses<br>";
echo $goto."<br><br>";
 
// Selection des fiches produits de la table
$query = "SELECT * FROM link where file like \"%$find%\" order by file ASC limit $dis,50";  
$result = mysql_query($query);
 
//Tab Header
echo "<u>Last Check</u>     <u>FTP adress</u><br>";
 
// Lire la table
echo "<font face=\"Courier New, Courier, mono\" color=\"#000000\"><font size=\"2\">";
while ($val = mysql_fetch_array($result)) {
$date=$val["date"];
$lien=$val["file"];
$lienvisu = strpos($lien,$val["host"]);
$lienvisu = str_replace($val["host"],"",substr($lien,$lienvisu));
echo $date."   <a href=\"".$lien."\">".$lienvisu."</a><br>";
}
echo "</font></font>";
echo "<br>".$goto;
?>

Reply

Marsh Posté le 29-01-2003 à 20:50:43   

Reply

Marsh Posté le 29-01-2003 à 22:33:13    

c payant ovh ?  
et si tu leur demandais ?
 
rien de particulier en vue..

Reply

Marsh Posté le 29-01-2003 à 23:33:16    

beleg a écrit :


et si tu leur demandais ?
 


 
je pense pas qu'ils s'amusent à débuguer les scripts de leurs clients, c'est du payant mais pas service cinq étoiles pour le prix de une étoile :D


Message édité par antp le 29-01-2003 à 23:33:23

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 29-01-2003 à 23:34:51    

Ouep ils s'amusent pas à débuguer les scripts :D
Je me demande si le pb c'est pas en partie que je ne ferme pas la connection à la base ?

Reply

Marsh Posté le 30-01-2003 à 09:51:59    

Toujours rien ?  :cry: http://q3irc.free.fr/Bang.gif


Message édité par format_c le 30-01-2003 à 09:52:10
Reply

Marsh Posté le 30-01-2003 à 10:36:42    

le problème d'OVH c'est qu'ils vendent de l'hébergement mais qu'ils veulent surtout pas que leurs clients bouffent un peu de ressource sur du mutualisé
 
 
quelques conseils d'optimisation :
 
utilise un COUNT(clef primaire) avec un mysql_fetch_row() pour ton comptage de résultat
 
dans tes requêtes, liste toujours les champs à récupérer sur ta table et vire ceux inutiles si y'en a


Message édité par Sh@rdar le 30-01-2003 à 10:40:30

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 30-01-2003 à 10:37:46    

Sh@rdar a écrit :

le problème d'OVH c'est qu'ils vendent de l'hébergement mais qu'ils veulent surtout pas que leurs clients bouffent un peu de ressource sur du mutualisé


Je commence à comprendre le réel pb alors  :fou:

Reply

Marsh Posté le 30-01-2003 à 10:37:58    

salut :hello:
 

Citation :

Ouep ils s'amusent pas à débuguer les scripts :D  
Je me demande si le pb c'est pas en partie que je ne ferme pas la connection à la base ?


 
non je crois pas, t'as pas créé de connection persistante, donc ta connection ce ferme toute seul à la fin de ton script !
 
écris leur par mail ou contacte les par téléphone, tu sera fixé au moins :)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 30-01-2003 à 10:43:58    

Le like en SQL c est ce qu il ya de pire pour bouffer de la ressources, combiné avec un Select * ca aide pas :).
 
A mon avis ton script lors d une execution a du bouffer trop de CPU ou de RAM et le robot d OVH a du te le couper automatiquement... Mais sinon dans le principe ton truc est correct

Reply

Marsh Posté le 30-01-2003 à 10:45:12    

Sh@rdar a écrit :

le problème d'OVH c'est qu'ils vendent de l'hébergement mais qu'ils veulent surtout pas que leurs clients bouffent un peu de ressource sur du mutualisé


 
comme la plupart des hébergeurs :sarcastic:

Reply

Marsh Posté le 30-01-2003 à 10:45:12   

Reply

Marsh Posté le 30-01-2003 à 10:46:32    

Sh@rdar a écrit :

utilise un COUNT(clef primaire) avec un mysql_fetch_row() pour ton comptage de résultat


 
J'avais pas vu, il faisait un SELECT * juste pour avoir le total ? [:wam]
Après on s'étonne que ça prenne des ressources :D

Reply

Marsh Posté le 30-01-2003 à 10:50:45    

antp a écrit :


 
je pense pas qu'ils s'amusent à débuguer les scripts de leurs clients, c'est du payant mais pas service cinq étoiles pour le prix de une étoile :D


 
au moins ils pourraient tindiquer les quelques raisons qui les poussent a desactiver certains scripts.

Reply

Marsh Posté le 30-01-2003 à 10:51:03    

antp a écrit :


 
J'avais pas vu, il faisait un SELECT * juste pour avoir le total ? [:wam]
Après on s'étonne que ça prenne des ressources :D


Je vais essayer merci  :jap:  
 
 
ps : voici la réponse du technicien quand je lui demande les pbs qu'engendrent le script : "Je n'ai pas plus d'info a vous adonner, le nom du script qui pose problème vous a été envoyé."
 
Conclusion -> Bye Bye OVH à la fin du contrat.

Reply

Marsh Posté le 30-01-2003 à 10:55:36    

Au fait, merci Sh@rdar pour ta réponse  :jap:

Reply

Marsh Posté le 30-01-2003 à 10:57:04    

beleg a écrit :


 
au moins ils pourraient tindiquer les quelques raisons qui les poussent a desactiver certains scripts.


 
C'est dit dans les conditions qu'on doit accepter à l'inscription il me semble :D
C'est quand un script bouffe plus d'un certain pourcentage du temps CPU ou qu'il prend trop de RAM
 
Un truc dans la FAQ:
 

Citation :


Q: Pourquoi et comment optimiser les requêtes (connexion/hit) sql ?
 
R: L'objectif d'optimisation des requêtes sql est de pouvoir faire plus de requêtes sql par seconde. Vu que vous êtes limité en nombre de connexion simultanées (cette limitation est nécéssaire pour assurer à tous les clients les services qu'ils ont acheté), il faut diminuer le temps d'une requête et donc faire
plus de requêtes courtes.
Voici quelques astuces:
1. faire des connections sql groupées en un endroit donné
2. mettre la connection et la deconnection juste avant/apres la requête, pour minimiser le temps de liaison avac mysql.
3. mettre le resultat dans des variables et les afficher une fois la requête sql finie ou plus tard. C'est- à-dire NE PAS ouvrir la connexion, faire une boucle sql et afficher avec "echo" les resultats dans la boucle, puis fermer seulement la connexion.

Reply

Marsh Posté le 30-01-2003 à 10:58:08    

Format_C a écrit :


Conclusion -> Bye Bye OVH à la fin du contrat.
 


 
Si tu trouves un hégergeur dans la même gamme de prix et qui te trouve les problèmes de tes scripts, donne nous le nom, ça peut tj servir :D
Et pas un truc genre Kalyweb qui fait faillite après six mois :o

Reply

Marsh Posté le 30-01-2003 à 11:09:34    

antp a écrit :


Voici quelques astuces:
1. faire des connections sql groupées en un endroit donné
2. mettre la connection et la deconnection juste avant/apres la requête, pour minimiser le temps de liaison avac mysql.
3. mettre le resultat dans des variables et les afficher une fois la requête sql finie ou plus tard. C'est- à-dire NE PAS ouvrir la connexion, faire une boucle sql et afficher avec "echo" les resultats dans la boucle, puis fermer seulement la connexion.
 


 
Format_C, tu as les trois conditions :D

Reply

Marsh Posté le 30-01-2003 à 11:09:57    

antp a écrit :


 
Si tu trouves un hégergeur dans la même gamme de prix et qui te trouve les problèmes de tes scripts, donne nous le nom, ça peut tj servir :D
Et pas un truc genre Kalyweb qui fait faillite après six mois :o


Si j'ai pris OVH c'est parceque j'attendais qu'Ikoula.com fasse de l'hébergement mysql + php. C'est une solution de rechange. Ils sont certes beaucoup plus chers mais ils ont un service exceptionnel ! Par exemple, ils ont, sans rien dire, zipés mes logs qui dépassés le Giga / jour, pendant une quinzaine de jour et après ils m'ont gentillement proposé de passer à un serveur dédié ou alors de splitter mon site sur plusieurs hébergeurs afin d'avoir des logs moins importants :D Bien que je leur bouffais toute la bande passante du mutualisé ils ne m'ont jamais dit qu'ils allaient me couper.
 
ps : en revanche le bon point pour ovh c'est qu'ils vont m'obliger à optimiser mes requetes faites avec 2 bouts de ficelle :D

Reply

Marsh Posté le 30-01-2003 à 11:10:45    

beleg a écrit :


 
Format_C, tu as les trois conditions :D  


 :lol:  
 
D'un autre coté ce n'est pas une obligation, juste un conseil ;)

Reply

Marsh Posté le 30-01-2003 à 11:13:31    

Format_C a écrit :


 :lol:  
 
D'un autre coté ce n'est pas une obligation, juste un conseil ;)


 
oui mais pr le moment, tu es desactivé  ;)  .. commence par virer le mysql_numrows, et mets le resultat dans une variable plutot que d'appeler plusieurs une fonction mysql.

Reply

Marsh Posté le 30-01-2003 à 11:17:37    

Format_C a écrit :

Par exemple, ils ont, sans rien dire, zipés mes logs


 
Sur OVH ils sont déjà gzippés [:kiki]

Reply

Marsh Posté le 30-01-2003 à 11:21:15    

beleg a écrit :


 
oui mais pr le moment, tu es desactivé  ;)  .. commence par virer le mysql_numrows, et mets le resultat dans une variable plutot que d'appeler plusieurs une fonction mysql.


C'est quand même pas un chti écho de rien du tout qui fout une telle merde ?  :lol:

Reply

Marsh Posté le 30-01-2003 à 11:21:32    

antp a écrit :


 
Sur OVH ils sont déjà gzippés [:kiki]  


Ouai mais eux c'est des Masta  :lol:

Reply

Marsh Posté le 30-01-2003 à 11:22:42    

Format_C a écrit :


C'est quand même pas un chti écho de rien du tout qui fout une telle merde ?  :lol:  


 
ça y contribue : ça rallonge la durée de la connexion au serveur SQL.
C'est pas ça qui fait qu'ils désactivent le script, mais ça peut aboutir au dépassement du nombre max de connexions à la BD (qui est ridiculeusement bas chez OVH : 3 connexions max :pfff:)


Message édité par antp le 30-01-2003 à 11:23:06
Reply

Marsh Posté le 30-01-2003 à 23:24:41    

Bon, j'ai essayé de faire quelques modifs en suivant vos conseils avisés ;)
 
<?
//Se connecter à la base pour insérer les enregistrements
require("conf.php3" );
$db = mysql_connect($serveur, $utilisateur, $motDePasse);  
mysql_select_db($sql_bdd,$db);
 
$resultstart=$dis+1;
$rangeplus=$dis+50;
$rangemoins=$dis-50;
$reponses = mysql_query("SELECT id FROM link where file like \"%$find%\"" );
 
if ($rangeplus>=mysql_num_rows($reponses))
 {
 $rangeplus=mysql_num_rows($reponses);
 $goto ="<a href=search.php?find=".$find."&dis=0>Précédent</a>";
 }
 else
 {
  if ($dis<=50)
  {
  $goto ="<a href=search.php?find=".$find."&dis=0>Précédent</a> <a href=search.php?find=".$find."&dis=".$rangeplus.">Suivant</a>";
  }
  else
  {
  $goto ="<a href=search.php?find=".$find."&dis=$rangemoins>Précédent</a> <a href=search.php?find=".$find."&dis=".$rangeplus.">Suivant</a>";
  }
 }
 
echo "Résultats ".$resultstart." à ".$rangeplus." sur ".mysql_num_rows($reponses)." réponses<br>";
echo $goto."<br><br>";
 
// Selection des liens de la table
$query = "SELECT date, file FROM link where file like \"%$find%\" order by file ASC limit $dis,50";  
$result = mysql_query($query);
 
//Tab Header
echo "<u>Last Check</u>     <u>FTP adress</u><br>";
 
// Lire la table
echo "<font face=\"Courier New, Courier, mono\" color=\"#000000\"><font size=\"2\">";
while ($val = mysql_fetch_array($result)) {
$date=$val["date"];
$lien=$val["file"];
$lienvisu = strpos($lien,$val["host"]);
$lienvisu = str_replace($val["host"],"",substr($lien,$lienvisu));
$affichage=$affichage. $date."   <a href=\"".$lien."\">".$lienvisu."</a><br>";
}
echo $affichage;
echo "</font></font>";
echo "<br>".$goto;
?>
 
J'ai pas utilisé le Count(), vous pensez que ça peux quand même le faire ?

Reply

Marsh Posté le 31-01-2003 à 00:14:07    

tas quasiment rien fait de notable.
 
$query = ("SELECT count(id) as nb FROM link where file like \"%$find%\"";
$reponses = mysql_query($query);  
$nb = mysql_result ( $reponses, 0);
 
if ($rangeplus>=$nb)  
{  
$rangeplus=$nb;  
 
etc ... ca coute rien de faire ca un poil plus propre ...
mais 3 connex simultanés c pour lensemble des sites OVH  [:wam] , c ridiculement bas  [:wam]  
 
 
 
 
 
 

Reply

Marsh Posté le 31-01-2003 à 00:28:50    

a oui par site web qd meme, c quand meme pas enorme, des que tu as un certain nombre de visiteurs qui consultent, font de la recherche. Metonne pas que je laggue.  

Reply

Marsh Posté le 31-01-2003 à 00:39:57    

a vi le max connect comme ici  :D  .. faut que je dorme moi.
bon bah ca parait suffisant dautant que le temps de generation dune page est largement < 1 seconde (edit ici 0.174 secondes pr cette page)  
 
le mysqlrows doit etre consommateur, vu quil doit je pense  parcourir le resultat pr compter le nombre de lignes, et comme tu le fais 2-3 fois, cest pas top.


Message édité par beleg le 31-01-2003 à 00:41:10
Reply

Marsh Posté le 31-01-2003 à 02:01:04    

Merci Beleg, je vais remplacer ma requete toute pourrie

Reply

Marsh Posté le 31-01-2003 à 08:32:27    

n'utilises pas mysql_result() mais plutôt un mysql_fetch_*() (plus rapide)
 

Code :
  1. $Query = mysql_query ("SELECT COUNT(Id) FROM matable WHERE maclause",$Link);
  2. $Results = mysql_fetch_row($Query);
  3. $Total = $Results[0];


 


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 31-01-2003 à 08:43:33    

THx Sh@rdar  :jap:  
Je vais encore modifier le code alors  :sweat:  
 
Merci à tous pour votre aide les gars en tout cas ! Là j'en suis à environ 850 000 fichiers indexés dans ma base et la recherche est pas si lente que ça  :love:

Reply

Marsh Posté le 31-01-2003 à 08:45:10    

HotShot a écrit :


 
Suite à ça, je leur ai passé un coup de fil pour dénoncer ta conduite honteuse (deux <font> à la suite... nan mais t'arrives encore à dormir tranquille ?!). Après vérification, ils ont viré ton site pour "non conformité envers les standards du web" et tu devrais bientôt avoir une convoc' au tribunal.
 
[:cupra]


Merde, c'est donc ça qui m'a réveillé cette nuit sur les coups de 3 heures du mat' !  :lol:  
 

Reply

Marsh Posté le 31-01-2003 à 08:47:28    

HotShot a écrit :


 
Suite à ça, je leur ai passé un coup de fil pour dénoncer ta conduite honteuse (deux <font> à la suite... nan mais t'arrives encore à dormir tranquille ?!). Après vérification, ils ont viré ton site pour "non conformité envers les standards du web" et tu devrais bientôt avoir une convoc' au tribunal.
 
[:cupra]


 
 
 :lol:  :lol:  :lol:  :lol:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed