Utiliser TCP Fast Open (TFO) pour connecter des clients à une base de données autonome d'intelligence artificielle

Si votre application est sensible à la latence du réseau et que vous souhaitez réduire la latence du réseau entre votre application et la base de données, vous pouvez activer TCP Fast Open (TFO).

Selon les caractéristiques de votre application, les connexions TFO peuvent améliorer la performance des applications en réduisant la latence réseau pour les connexions clients.

Préalables pour les connexions TCP Fast Open (TFO)

Répertorie les préalables à l'utilisation des connexions TCP Fast Open (TFO) avec Autonomous AI Database.

Pour utiliser TCP Fast Open (TFO) pour se connecter à une instance de base de données d'intelligence artificielle autonome, l'application client nécessite les éléments suivants :

  • Le client doit s'exécuter sur une machine virtuelle dans Oracle Cloud Infrastructure.

  • L'une des conditions suivantes doit être vraie :

  • La machine virtuelle doit s'exécuter sous Linux. Les plateformes prises en charge sont : Oracle Linux x86_64 et Oracle Linux Arm (aarch64).

  • Les paramètres de noyau de niveau système d'exploitation suivants doivent être définis :

    • En tant qu'utilisateur racine, définissez les paramètres suivants :

      • sysctl -w net.ipv 4.tcp_fastopen=5

      • sysctl -w net.ipv4.tcp_fastopen_blackhole_timeout_sec=0

      Vérifiez les valeurs des paramètres du noyau au niveau du système d'exploitation :

      cat /proc/sys/net/ipv4/tcp_fastopen
      5
      cat /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec
      0

Connexions légères JDBC avec TCP Fast Open

Décrit les exigences d'utilisation des connexions légères JDBC avec TCP Fast Open (TFO) sur Autonomous AI Database.

Assurez-vous que l'environnement client et les préalables du client sont satisfaits. Pour plus d'informations, voir Préalables pour les connexions TCP à ouverture rapide (TFO).

Pour utiliser JDBC avec TCP Fast Open (TFO), procédez comme suit :

  1. Téléchargez le dernier pilote JDBC-thin.

    Dans la page Téléchargements du pilote JDBC et des fichiers Jars de compagnon pour Oracle AI Database :

    • Sélectionnez une version de pilote 23.4 ou supérieure parmi les pilotes disponibles sous Téléchargements de pilotes JDBC et UCP pour Oracle AI Database 26ai - Version gratuite.

    • Sélectionnez une version de pilote 19.23 ou supérieure parmi les pilotes disponibles sous Oracle Database 19c JDBC Driver & UCP Downloads - Long Term Release

  2. Téléchargez le fichier de bibliothèque Oracle JDBC TCP Fast Open (TFO).

    • Dans la page Pilote JDBC pour Oracle AI Database et téléchargements de fichiers Jars complémentaires, développez Bibliothèque Oracle JDBC TCP Fast Open (TFO) v1

    • Téléchargez le fichier compressé de la bibliothèque native pour votre plate-forme client :

      • JDBC TFO Library for Linux x86_64, fichier de bibliothèque pour "x86_64" pour Linux sur Intel.

      • JDBC TFO Library for Linux AARCH64 fichier de bibliothèque pour "arm64" pour Linux sur ARM.

  3. Chargez la bibliothèque native dans l'environnement dans lequel vous exécutez votre application.

    Définissez les variables d'environnement suivantes dans le chemin de la bibliothèque :

    • Exportez LD_PRELOAD.

      export LD_PRELOAD=path_to/libtfojdbc1.so;

    • Si vous utilisez JDK 8, exportez LD_LIBRARY_PATH.

      Exemple :

      export LD_LIBRARY_PATH=path_of_libtfojdbc1.so:path_to/jdk_8_home/jre/lib/amd64:path_to/jdk_8_home/jre/lib/amd64/server;

    • Si vous utilisez JDK 17, exportez LD_LIBRARY_PATH.

      Exemple :

      export LD_LIBRARY_PATH=extracted_binaries_path:path_to/jdk_17_home/lib;

  4. Activez l'option TCP Fast Open (TFO) pour votre application.

    Voici quelques-unes des options d'activation de TFO dans la connexion client à la base de données :

    • Dans l'application client, définissez la propriété de connexion suivante :

      properties.put(OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPEN, "true");

      Par défaut, la propriété OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPEN est réglée à Faux (désactivée).

    • Ajoutez la propriété TFO dans l'URL JDBC.

      Exemple :

      jdbc:oracle:thin:@tcps://xxx.adb.yyy.oraclecloud.com:1521/zzz.adb.oraclecloud.com?oracle.net.useTcpFastOpen=true

      Ou

      jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xxx.adb.yyy.oraclecloud.com) (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=zzz.adb.oraclecloud.com)))?oracle.net.useTcpFastOpen=true
    • Ajoutez le paramètre TNS suivant dans la section CONNECT_DATA de l'URL de connexion.

      Exemple :

      jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xxx.adb.yyy.oraclecloud.com)(PORT=1521))
              (CONNECT_DATA=(USE_TCP_FAST_OPEN =ON)(SERVICE_NAME=zzz.adb.oraclecloud.com)))
    • Ajoutez le paramètre TNS suivant dans la section CONNECT_DATA de l'URL de connexion.

      Exemple :

      jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=xxx.adb.yyy.oraclecloud.com)(PORT=1521))(CONNECT_DATA=(TFO=ON)(SERVICE_NAME=zzz.adb.oraclecloud.com)))
  5. Exécutez l'application.

Connexions ouvertes rapides TCP avec Python

Décrit les exigences d'utilisation de Python avec des connexions TCP Fast Open (TFO) sur Autonomous AI Database.

Assurez-vous que l'environnement client et les préalables du client sont satisfaits. Pour plus d'informations, voir Préalables pour les connexions TCP à ouverture rapide (TFO).

Pour utiliser Python avec TCP Fast Open (TFO), procédez comme suit :

  1. Installez Python et le pilote python-oracledb.

    Utilisez la dernière version de python-orabledb (la version 2.1.0 ou une version plus récente est requise).

    Pour plus d'informations, voir Installer Python et le pilote python-oracledb.

  2. Ajoutez le paramètre de connexion use_tcp_fast_open lors de la connexion à une instance de base de données d'intelligence artificielle autonome.

    Par exemple, utilisez cette option avec l'une des options suivantes :

    Pour plus d'informations, voir Connecter les applications Python à une base de données Autonomous AI Database.

Connexions ouvertes rapides TCP avec le client Oracle Call Interface pour les connexions C ou SQL*Plus

Décrit les exigences d'utilisation du client Oracle Call Interface avec TCP Fast Open (TFO) pour se connecter à C ou SQL*Plus à Autonomous AI Database.

Assurez-vous que l'environnement client et les préalables du client sont satisfaits. Pour plus d'informations, voir Préalables pour les connexions TCP à ouverture rapide (TFO).

Note

Note : Vous pouvez activer TCP Fast Open (TFO) avec des connexions mTLS ou TLS. Pour plus d'informations, voir Connexions sécurisées à une base de données d'IA autonome avec mTLS ou TLS et Mettre à jour les options de réseau pour autoriser TLS ou n'exiger que l'authentification TLS mutuelle (mTLS) sur une base de données d'IA autonome.

Pour utiliser Oracle Call Interface avec TCP Fast Open (TFO), procédez comme suit :

  1. Téléchargez le client instantané Oracle le plus récent pour Linux, version 23.4 ou supérieure ou version 19.23 ou supérieure.

    Voir Téléchargements d'Oracle Instant Client pour Linux x86-64 (64 bits) pour Linux x86-64.

    Voir Téléchargements Oracle Instant Client pour Linux ARM (aarch64) pour Linux ARM.

  2. Connectez-vous avec le paramètre USE_TCP_FAST_OPEN réglé à la valeur YES.

    Par exemple, ajoutez le paramètre USE_TCP_FAST_OPEN à connect_data dans la chaîne de connexion que vous utilisez pour vous connecter à la base de données d'intelligence artificielle autonome :

    (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)
       (port=1522)(host=example.us-phoenix-1.oraclecloud.com))
       (connect_data= (USE_TCP_FAST_OPEN=yes)(service_name=example_medium.adb.oraclecloud.com))
           (security=(ssl_server_dn_match=yes)))

    Ou définissez le paramètre sqlnet.ora :

    USE_TCP_FAST_OPEN=yes