HELP - Pourquoi OVH a t il désactivé ce script ??? - PHP - Programmation
Marsh Posté le 29-01-2003 à 22:33:13
c payant ovh ?
et si tu leur demandais ?
rien de particulier en vue..
Marsh Posté le 29-01-2003 à 23:33:16
beleg 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
Marsh Posté le 29-01-2003 à 23:34:51
Ouep ils s'amusent pas à débuguer les scripts
Je me demande si le pb c'est pas en partie que je ne ferme pas la connection à la base ?
Marsh Posté le 30-01-2003 à 09:51:59
Toujours rien ?
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
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
Marsh Posté le 30-01-2003 à 10:37:58
salut
Citation : Ouep ils s'amusent pas à débuguer les scripts |
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
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
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
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 ?
Après on s'étonne que ça prenne des ressources
Marsh Posté le 30-01-2003 à 10:50:45
antp a écrit : |
au moins ils pourraient tindiquer les quelques raisons qui les poussent a desactiver certains scripts.
Marsh Posté le 30-01-2003 à 10:51:03
antp a écrit : |
Je vais essayer merci
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.
Marsh Posté le 30-01-2003 à 10:57:04
beleg a écrit : |
C'est dit dans les conditions qu'on doit accepter à l'inscription il me semble
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 : |
Marsh Posté le 30-01-2003 à 10:58:08
Format_C 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
Et pas un truc genre Kalyweb qui fait faillite après six mois
Marsh Posté le 30-01-2003 à 11:09:34
antp a écrit : |
Format_C, tu as les trois conditions
Marsh Posté le 30-01-2003 à 11:09:57
antp a écrit : |
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 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
Marsh Posté le 30-01-2003 à 11:10:45
beleg a écrit : |
D'un autre coté ce n'est pas une obligation, juste un conseil
Marsh Posté le 30-01-2003 à 11:13:31
Format_C 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.
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
Marsh Posté le 30-01-2003 à 11:21:15
beleg a écrit : |
C'est quand même pas un chti écho de rien du tout qui fout une telle merde ?
Marsh Posté le 30-01-2003 à 11:21:32
ReplyMarsh Posté le 30-01-2003 à 11:22:42
Format_C a écrit : |
ç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 )
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 ?
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 , c ridiculement bas
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.
Marsh Posté le 31-01-2003 à 00:39:57
a vi le max connect comme ici .. 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.
Marsh Posté le 31-01-2003 à 08:32:27
n'utilises pas mysql_result() mais plutôt un mysql_fetch_*() (plus rapide)
Code :
|
Marsh Posté le 31-01-2003 à 08:43:33
THx Sh@rdar
Je vais encore modifier le code alors
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
Marsh Posté le 31-01-2003 à 08:45:10
HotShot a écrit : |
Merde, c'est donc ça qui m'a réveillé cette nuit sur les coups de 3 heures du mat' !
Marsh Posté le 31-01-2003 à 08:47:28
HotShot a écrit : |
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;
?>