Problème socket local dépassement quota max

Fermé
msx179 Messages postés 3 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010 - 25 nov. 2010 à 11:32
elghafoud Messages postés 121 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 29 avril 2013 - 29 nov. 2010 à 15:56
Bonjour,

J'ai un site web (php, mysql, javascript) hébergé sur un serveur VPS dédié. L'hébergeur indique un problème au niveau du paramètre "socket local utilisé" qui arrive au maximum du quota utilisé provoquant le ralentissement de mon site web voire l'impossibilité d'y accéder.

J'ai pensé à plusieurs possibilités :
- la connexion à la base de données car dans une même page je réalise plusieurs connexions à la bdd (connexion, requête, fermeture) mais en essayant d'ouvrir la connexion en début de page, d'effectuer toutes les requêtes et fermer la connexion en fin de page il ne semble pas y avoir d'améliorations
- la fonction mail php car j'ai réalisé un emailing hier matin sur une base de données de plusieurs milliers de contacts (je sais ce n'est pas le meilleur moyen de faire un emailing) mais le quota était déjà très élevé avant cet emailing

Je ne crée pas de socket manuellement dans mon site.

Le redémarrage du serveur ne semble pas résoudre le problème car après quelques minutes le quota revient très proche du maximum et ne résout donc pas le problème

Y auraient-ils d'autres paramètres spécifiques au niveau du serveur qui doivent être activés? le problème viendrait-il de quelque chose d'autre?

Je n'arrive pas à trouver la solution à ce problème ni de réponse dans d'autres forums à ce sujet.

Merci de votre aide !
A voir également:

4 réponses

elghafoud Messages postés 121 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 29 avril 2013 18
25 nov. 2010 à 14:03
Tu utilise quoi pour te connecter à la base ? On peut voir le script ?

0
msx179 Messages postés 3 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
Modifié par msx179 le 25/11/2010 à 15:45
j'utilise une classe que j'appelle ensuite lors de chaque intéraction avec la base de données. Ci-après un exemple fictif de code en espérant que ça puisse aider. Je n'ai jamais eu aucun problème lors du développement en local (dernière version de wamp)mais le passage en production pose problème au niveau de ces fameuses sockets


//class
class Database {
var $host;
var $user;
var $pass;
var $nom_db;
var $db;
function getHost() {return $host;}
function getUser() {return $user;}
function getPass() {return $pass;}
function getNomDb() {return $nom_db;}
function getDb() {return $db;}
function Database() {
//les données suivantes sont fictives
$this->host = "mondomaine.com";
$this->user = "monutilisateur";
$this->pass = "monmotdepasse";
$this->nom_db = "mabasededonnees";
$this->db = mysql_connect($this->host, $this->user, $this->pass)
or die("");
mysql_select_db($this->nom_db, $this->db);
}
function execute($sql){
$res = mysql_query($sql) or die('');
return $res;
}
function numResult($sql){
$query = mysql_query($sql);
return mysql_num_rows($query);
}
function closeDb() { mysql_close(); }
}

//requete sur la bdd
$MyDb = new Database();
$requete = null;
$requete = "SELECT data FROM table1 ";
$requete .= "WHERE type='1' ";
$result = $MyDb->execute($requete);
while ($data = mysql_fetch_array($result)) {
$data1=$data['data'];}
}
$MyDb->closeDb();
0
msx179 Messages postés 3 Date d'inscription jeudi 25 novembre 2010 Statut Membre Dernière intervention 25 novembre 2010
25 nov. 2010 à 15:51
petit complément d'info, la classe se trouve dans un fichier séparé qui est inclus systématiquement via la méthode "include" de php.
0
elghafoud Messages postés 121 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 29 avril 2013 18
29 nov. 2010 à 15:56
Essaye d'utiliser un Singleton http://www.php.net/manual/fr/language.oop5.patterns.php ...
0