CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] PDO et performances

Harm0
Harm0
Niveau 7
18 novembre 2014 à 11:09:14

Yo les gens !

Ça fait quelques jours que je bosse sur un truc, et je me suis heurté à un comportement assez étrange de PDO... En gros, j'avais une requête AJAX qui mettait plus d'une seconde à s’exécuter alors que ça ne devrait pas. A coup de "microtime", j'avais calculé que le traitement durait un centième de seconde (genre 0.002s).

J'ai d'abord pensé que c'était mon Framework perso qui était à la traine (le fwk charge des templates et pleins de trucs inutiles dans le cas d'une requête AJAX), j'ai tenté un fix, j'atteignais les mêmes résultats.

J'ai ensuite isolé ma requête dans un fichier séparé avec uniquement ce que j'avais besoin : Même résultat.

A coup de microtime encore une fois, j'ai vu que c'était cette ligne qui posait souci :
$db=new PDO("mysql:host=".DB_HOST.";dbname=".BASE.";port="
.PORT,DB_USER,DB_PASS);

En remplaçant les constantes par leurs valeurs en durs, j'ai vu que c'était DB_HOST qui foutait le dawa (valeur : "localhost". Et en mettant "127.0.0.1", ça passe, la requête met bien 0.002s à s’exécuter. :(

En revanche, j'ai peur de mal comprendre : Ça serait la résolution DNS qui ferait perdre tout ce temps ? :ouch2:

PS : Mon problème est résolu du coup, mais je suis quelqu'un de curieux qui n'aime pas ne pas comprendre un truc, et ça, je trouve ça très zarb'. J'utilise PDO depuis longtemps, mais j'avais jamais fait gaffe aux performances ^^

TrollDieu
TrollDieu
Niveau 6
18 novembre 2014 à 16:28:36

bah tu as trouvée le problème, donc logiquement ton localhost est pourris, le 127.0.0.1 est une adresse de loopback d'une machine, alors que localhost est une hostname qui redirectionne vers 127.0.0.1.

Donc il ce peux tout simplement que tu es modifier ou supprimer le localhost dans apache/nginx ou dans ton OS ...

Harm0
Harm0
Niveau 7
19 novembre 2014 à 19:34:28

Bah écoutes ouais, j'ai testé sur un autre Windows 8, un Mac, un Debian, deux serveurs en ligne (un kimsufi, et une Dedibox), et j'ai pas eu le soucis. x'D

Mais franchement, je vois pas ce qu'il se passe sur mon local, et je déteste ne pas comprendre x)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment