Aller au contenu principal
Notification
ITPro
  • Ressources IT
  • Newsletter
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
Se connecter
S’inscrire
  • Facebook
  • X
  • Linkedin
  • Instagram

Inscrivez-vous

Newsletter iTPro

  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  1. Accueil
  2. Data & IA
  3. Bases de données modernes
  4. db2_pconnect ou db2_connect ?

Sommaire

Tech stories

  • Tech Stories

    Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

  • Tech Stories

    Les compétences cloud à développer dans une équipe IT

Bases de données modernes Tech

db2_pconnect ou db2_connect ?

Par

iTPro
Date
27 octobre 2010
Temps de lecture
2 minutes

Pour obtenir une performance ibm_db2 acceptable sur tout site soumis à une forte demande de navigation (nombreux « hits » par seconde), il vous faudra utiliser db2_pconnect(). Le « p » dans db2_pconnect() signifie connexion persistante, indiquant simplement que cette connexion ne se fermera pas tant que le site

Sommaire

Apache sera actif (quelle que soit l’application PHP qui utilise la connexion persistante). A l’inverse, db2_connect() ouvrira une connexion chaque fois qu’une application PHP voudra utiliser la base de données et fermera la connexion à la sortie. Par conséquent, db2_connect sollicite énormément les ressources i5 avec des ouvertures/fermetures de base de données à une vitesse de demande de requête subseconde de la part des clients du navigateur (aïe !), tandis que les demandes ultérieures adressées à db2_pconnect contournent tout le travail de connexion db2.

Vous ne pouvez pas mélanger db2_connect et db2_ pconnect sous la même connexion de profil utilisateur, car le db2_pconnect risque de consommer toutes les connexions et de les garder en otages pendant la durée de vie du site Apache. La fonction persistante de ibm_db2 est indispensable pour la performance, mais elle a son prix : savoir planifier votre stratégie de site ibm_db2 pour éviter que la totalité du site ne devienne insensible aux requêtes db2.

Vous vous en doutez peut-être, db2_pconnect() est une connexion stateful ; donc elle viole les règles de programmation stateless Apache. DB2_I5_NAMING_ON s’attend à ce que toutes les instructions SQL aient la syntaxe library/file (native/system naming) et DB2_I5_NAMING_OFF s’attend à ce que toutes les instructions SQL aient library.name (SQL naming). En raison des règles de connexions CLI, nous ne pouvons pas faire alterner les deux modes pendant qu’une connexion est active (donc, db2_pconnect est toujours actif).

L’application Acme PHP est configurée pour s’approprier la connexion NOBODY du profil par défaut (config.php), avec la conséquence suivante : bon nombre de nos autres scripts de test (ou autre code db2 de production) qui essaieront de mélanger db2_pconnect/connect ("", "", "") et db2_connect("","",""), array("i5_naming"=>DB2_I5_ NAMING_ON)) échoueront. (Ou bien, si votre autre application PHP tient déjà en otage la connexion persistante, l’application Acme échouera.) La réponse simple et courte à ce problème consiste à choisir simplement des profils différents pour chaque classe générale de connexion persistante ibm_db2 stateful : un pour DB2_I5_NAMING_ON et un autre pour DB2_I5_ NAMING_OFF. Je recommande d’avoir au moins deux profils utilisateurs *USER qui ne peuvent pas se connecter (sign on) au System i (comme NOBODY et NOBODYP) pour exécuter les deux styles de db2_pconnect pour les applications PHP, puis de penser à se connecter avec le profil correspondant.

Remarque: Toute violation stateless Apache est un véritable pacte avec le diable : il faut en payer le prix. D’ailleurs, du point de vue d’Apache, changer le code RPG est une meilleure solution. Donc, si vous devez mélanger le nommage SQL et system/native et des listes de bibliothèques, choisissez avec beaucoup de soin la stratégie de connexion persistante ibm_db2 de votre site (db2_pconnect est un outil puissant mais dangereux entre les mains de votre spécialiste Web).
 

Tech Stories

Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

Le renouvellement d’un parc IT peut rapidement faire grimper les dépenses. Inventaire incomplet, postes surdimensionnés, manque de standardisation, perte de valeur du matériel et achats réactifs : découvrez les cinq…

Lire l'article : Les erreurs de gestion qui font exploser le budget de renouvellement du parc IT

Ressource IT

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…

Découvrir la ressource : SIEM & PME : Comment construire la boîte noire de votre SI ?

Inscrivez-vous

Newsletter iTPro

iTPro

Rédigé par iTPro

Tous ses articles →

Bases de données modernes

À lire également...

  • BYOD - Les atouts cachés du Bring Your Own Model pour les entreprises - iTPro.fr
    Bases de données modernes

    Les atouts cachés du Bring Your Own Model pour les entreprises

    Par

    Sabine Terrey
    Date
    25 octobre 2024
    Temps de lecture
    4 minutes
  • Change Data Capture pour les entreprises qui réussisent
    Bases de données modernes

    Le Change Data Capture est l’avenir des entreprises qui réussissent

    Par

    Sabine Terrey
    Date
    22 mars 2024
    Temps de lecture
    4 minutes
  • comment_Migrer_vos_bases_de_donnees_dans_le_cloud
    Bases de données modernes Cloud & Infrastructure

    Migration des bases de données dans le cloud : mode d’emploi

    Par

    Sabine Terrey
    Date
    9 janvier 2023
    Temps de lecture
    4 minutes
  • Bases de données modernes Cloud & Infrastructure

    Pourquoi migrer ses bases de données dans le Cloud 

    Par

    Sabine Terrey
    Date
    12 décembre 2022
    Temps de lecture
    6 minutes
ITPro
  • X
  • Linkedin
  • Facebook
  • Instagram
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Ressources IT
  • Espace responsable sécurité
  • Espace DSI
  • Espace Architecte IT
  • Espace IT Manager
  • Espace Responsable Data / IA

Inscrivez-vous

Newsletter iTPro

© iTPro.fr

  • Comité éditorial
  • Régie médias
  • Mentions-légales
  • Gestion et protection des données personnelles
  • Gestion des cookies
ITPro
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}