Utilisation de TCP Fast Open (TFO) pour connecter les clients à une base de données Autonomous AI
Si votre application est sensible à la latence réseau et que vous souhaitez réduire la latence réseau entre l'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 les performances des applications en réduisant la latence réseau pour les connexions client.
Prérequis pour les connexions TCP Fast Open (TFO)
Répertorie les prérequis pour 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 Autonomous AI, l'application client requiert les éléments suivants :
-
Le client doit être exécuté sur une machine virtuelle dans Oracle Cloud Infrastructure.
-
L'une des conditions suivantes doit être remplie :
-
La base de données d'IA autonome se trouve sur une adresse privée.
-
Lorsque la base de données Autonomous AI se trouve sur une adresse publique, les règles de routage entre la machine virtuelle client et la base de données doivent être configurées de sorte que le trafic passe par une passerelle de service.
Pour plus d'informations, reportez-vous à Accès à Autonomous AI Database avec la passerelle de service et à Configuration de l'accès réseau avec des adresses privées.
-
-
La machine virtuelle doit être exécutée sous Linux. Les plates-formes prises en charge sont : Oracle Linux x86_64 et Oracle Linux Arm (aarch64).
-
Les paramètres de noyau au niveau du système d'exploitation suivants doivent être définis :
-
En tant qu'utilisateur root, 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 JDBC Thin avec TCP Fast Open
Décrit les exigences d'utilisation des connexions JDBC Thin avec TCP Fast Open (TFO) sur la base de données Autonomous AI.
Assurez-vous que l'environnement client et les prérequis client sont respectés. Pour plus d'informations, reportez-vous à Prérequis pour les connexions TCP Fast Open (TFO).
Pour utiliser JDBC avec TCP Fast Open (TFO), procédez comme suit :
-
Téléchargez le dernier pilote JDBC-thin.
A partir de la page Téléchargements de fichiers JAR de compagnon et de pilote JDBC Oracle AI Database :
-
Sélectionnez un pilote de version 23.4 ou supérieure parmi les pilotes disponibles sous Oracle AI Database 26ai JDBC Driver & UCP Downloads - Free Release.
-
Sélectionnez un pilote de version 19.23 ou supérieure parmi les pilotes disponibles sous Oracle Database 19c JDBC Driver & UCP Downloads - Long Term Release
-
-
Téléchargez le fichier de bibliothèque Oracle JDBC TCP Fast Open (TFO).
-
Sur la page Pilote JDBC Oracle AI Database et téléchargements de fichiers JAR de compagnon, développez Oracle JDBC TCP Fast Open (TFO) Library v1
-
Téléchargez le fichier compressé de la bibliothèque native pour votre plate-forme client :
-
Bibliothèque JDBC TFO pour Linux x86_64, fichier de bibliothèque pour "x86_64" pour Linux sur Intel.
-
Fichier de bibliothèque JDBC TFO pour Linux AARCH64 pour "arm64" pour Linux sur Arm.
-
-
-
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 d'accès de la bibliothèque :
-
Exportez
LD_PRELOAD.export LD_PRELOAD=path_to/libtfojdbc1.so; -
Si vous utilisez JDK 8, exportez
LD_LIBRARY_PATH.Par 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.Par exemple :
export LD_LIBRARY_PATH=extracted_binaries_path:path_to/jdk_17_home/lib;
-
-
Activez l'option TCP Fast Open (TFO) pour votre application.
Voici quelques-unes des options permettant d'activer 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_OPENest définie sur false (désactivé). -
Ajoutez la propriété TFO dans l'URL JDBC.
Par exemple :
jdbc:oracle:thin:@tcps://xxx.adb.yyy.oraclecloud.com:1521/zzz.adb.oraclecloud.com?oracle.net.useTcpFastOpen=trueOu
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_DATAde l'URL de connexion.Par 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_DATAde l'URL de connexion.Par 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)))
-
-
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 une base de données Autonomous AI.
Assurez-vous que l'environnement client et les prérequis client sont respectés. Pour plus d'informations, reportez-vous à Prérequis pour les connexions TCP Fast Open (TFO).
Pour utiliser Python avec TCP Fast Open (TFO), procédez comme suit :
-
Installez Python et le pilote
python-oracledb.Utilisez la dernière version de
python-orabledb(la version 2.1.0 ou une version ultérieure est requise).Pour plus d'informations, reportez-vous à Installation de Python et du pilote python-oracledb.
-
Ajoutez le paramètre de connexion
use_tcp_fast_openlorsque vous connectez à une instance de base de données Autonomous AI.Par exemple, utilisez cette option avec l'une des options suivantes :
Pour plus d'informations, reportez-vous à Connexion d'applications Python à une base de données Autonomous AI.
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 la connexion à la base de données Autonomous AI avec C ou SQL*Plus.
Assurez-vous que l'environnement client et les prérequis client sont respectés. Pour plus d'informations, reportez-vous à Prérequis pour les connexions TCP Fast Open (TFO).
Remarque
Remarque : vous pouvez activer TCP Fast Open (TFO) avec des connexions mTLS ou TLS. Pour plus d'informations, reportez-vous à Connexions sécurisées à une base de données Autonomous AI avec mTLS ou TLS et à Mise à jour des options réseau pour autoriser TLS ou exiger uniquement une authentification mutuelle TLS (mTLS) sur une base de données Autonomous AI.
Pour utiliser Oracle Call Interface avec TCP Fast Open (TFO), procédez comme suit :
-
Téléchargez le dernier client instantané Oracle pour Linux, version 23.4 ou supérieure, ou version 19.23 ou supérieure.
Reportez-vous à Téléchargements Oracle Instant Client pour Linux x86-64 (64 bits) pour Linux x86-64.
Reportez-vous à Oracle Instant Client Downloads for Linux ARM (aarch64) pour Linux ARM.
-
Connectez-vous avec le paramètre
USE_TCP_FAST_OPENdéfini sur la valeurYES.Par exemple, ajoutez le paramètre
USE_TCP_FAST_OPENàconnect_datadans la chaîne de connexion que vous utilisez pour vous connecter à la base de données Autonomous AI :(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)))Vous pouvez également définir le paramètre
sqlnet.ora:USE_TCP_FAST_OPEN=yes