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.ipv4.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 de pilotes JDBC et de fichiers Jars de compagnon pour Oracle Database :

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

    • Sélectionnez une version de pilote 19.23 ou supérieure parmi les pilotes disponibles sous Oracle Database 19c Pilote JDBC et téléchargements UCP - Version à long terme

  2. Téléchargez le fichier de bibliothèque Oracle JDBC TCP Fast Open (TFO).
    1. Dans la page Pilotes JDBC pour Oracle Database et téléchargements de fichiers JAR de compagnon, développez Bibliothèque Oracle JDBC TCP Fast Open (TFO) v1
    2. Téléchargez la bibliothèque native .zip pour votre plateforme 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 :

    1. Exportez LD_PRELOAD.
      export LD_PRELOAD=path_to/libtfojdbc1.so;
    2. 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;
    3. 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 lorsque vous connectez à une instance Autonomous Database.

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

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).

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.
  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