Uso de TCP Fast Open (TFO) para conectar clientes a una base de datos de IA autónoma
Si la aplicación es sensible a la latencia de red y desea reducir la latencia de red entre la aplicación y la base de datos, puede activar TCP Fast Open (TFO).
En función de las características de la aplicación, las conexiones TFO pueden mejorar el rendimiento de la aplicación al disminuir la latencia de red para las conexiones de cliente.
Requisitos para conexiones TCP de apertura rápida (TFO)
Muestra los requisitos para utilizar conexiones TCP Fast Open (TFO) con Autonomous AI Database.
Para utilizar TCP Fast Open (TFO) para conectarse a una instancia de base de datos de IA autónoma, la aplicación cliente necesita lo siguiente:
-
El cliente debe ejecutarse en una máquina virtual en Oracle Cloud Infrastructure.
-
Una de las siguientes opciones debe ser verdadera:
-
La base de datos de IA autónoma está en un punto final privado.
-
Cuando la base de datos de IA autónoma está en un punto final público, las reglas de enrutamiento entre la máquina virtual del cliente y la base de datos se deben configurar para que el tráfico pase a través de un gateway de servicios.
Consulte Acceso a la base de datos de IA autónoma con Service Gateway y Configuración del acceso de red con puntos finales privados para obtener más información.
-
-
La máquina virtual debe estar en ejecución en Linux. Las plataformas soportadas son: Oracle Linux x86_64 y Oracle Linux Arm (aarch64).
-
Se deben definir los siguientes parámetros de núcleo del nivel del sistema operativo:
-
Como usuario root, defina los siguientes parámetros:
-
sysctl -w net.ipv 4.tcp_fastopen=5 -
sysctl -w net.ipv4.tcp_fastopen_blackhole_timeout_sec=0
Verifique los valores de los parámetros del núcleo del nivel del sistema operativo:
cat /proc/sys/net/ipv4/tcp_fastopen 5 cat /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec 0 -
-
Conexiones JDBC Thin con TCP Fast Open
Describe los requisitos para utilizar conexiones JDBC Thin con TCP Fast Open (TFO) en Autonomous AI Database.
Asegúrese de que se cumplen los requisitos previos del cliente y el entorno del cliente. Consulte Prerequisites for TCP Fast Open (TFO) Connections para obtener más información.
Para utilizar JDBC con TCP Fast Open (TFO), realice los siguientes pasos:
-
Descargue el último controlador JDBC-thin.
En la página Descargas del controlador JDBC y archivos jar complementarios de Oracle AI Database:
-
Seleccione una versión de controlador 23.4 o superior de los controladores disponibles en Oracle AI Database 26ai JDBC Driver & UCP Downloads - Free Release.
-
Seleccione un controlador de la versión 19.23 o superior de los controladores disponibles en Oracle Database 19c JDBC Driver & UCP Downloads - Long Term Release
-
-
Descargue el archivo de biblioteca Oracle JDBC TCP Fast Open (TFO).
-
En la página Oracle AI Database JDBC driver and Companion Jars Downloads, amplíe Oracle JDBC TCP Fast Open (TFO) Library v1.
-
Descargue el archivo comprimido de la biblioteca nativa para su plataforma cliente:
-
JDBC TFO Library for Linux x86_64, archivo de biblioteca para "x86_64" para Linux en Intel.
-
Biblioteca TFO de JDBC para el archivo de biblioteca AARCH64 de Linux para "arm64" para Linux en Arm.
-
-
-
Cargue la biblioteca nativa en el entorno en el que ejecuta la aplicación.
Configure las siguientes variables del entorno en la ruta de acceso de la biblioteca:
-
Exporte
LD_PRELOAD.export LD_PRELOAD=path_to/libtfojdbc1.so; -
Si utiliza JDK 8, exporte
LD_LIBRARY_PATH.Por ejemplo:
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 utiliza JDK 17, exporte
LD_LIBRARY_PATH.Por ejemplo:
export LD_LIBRARY_PATH=extracted_binaries_path:path_to/jdk_17_home/lib;
-
-
Active la opción TCP Fast Open (TFO) para la aplicación.
A continuación, se muestran algunas de las opciones para activar TFO en la conexión del cliente a la base de datos:
-
En la aplicación cliente, defina la siguiente propiedad de conexión:
properties.put(OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPEN, "true");De forma predeterminada, la propiedad
OracleConnection.CONNECTION_PROPERTY_NET_USE_TCP_FAST_OPENestá establecida en false (desactivada). -
Agregue la propiedad TFO en la URL de JDBC.
Por ejemplo:
jdbc:oracle:thin:@tcps://xxx.adb.yyy.oraclecloud.com:1521/zzz.adb.oraclecloud.com?oracle.net.useTcpFastOpen=trueO bien
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 -
Agregue el siguiente parámetro TNS en la sección
CONNECT_DATAde la URL de conexión.Por ejemplo:
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))) -
Agregue el siguiente parámetro TNS en la sección
CONNECT_DATAde la URL de conexión.Por ejemplo:
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)))
-
-
Ejecute la aplicación.
Conexiones abiertas rápidas TCP con Python
Describe los requisitos para utilizar Python con conexiones TCP Fast Open (TFO) en Autonomous AI Database.
Asegúrese de que se cumplen los requisitos previos del cliente y el entorno del cliente. Consulte Prerequisites for TCP Fast Open (TFO) Connections para obtener más información.
Para utilizar Python con TCP Fast Open (TFO), realice los siguientes pasos:
-
Instalar Python y el controlador
python-oracledb.Utilice la última versión de
python-orabledb(se necesita la versión 2.1.0 o posterior).Consulte Instalación de Python y el controlador python-oracledb para obtener más información.
-
Agregue el parámetro de conexión
use_tcp_fast_openal conectarse a una instancia de base de datos de IA autónoma.Por ejemplo, utilice esta opción con una de las siguientes opciones:
Consulte Conexión de aplicaciones Python a una base de datos de IA autónoma para obtener más información.
Conexiones abiertas rápidas TCP con el cliente de Oracle Call Interface para conexiones C o SQL*Plus
Describe los requisitos para utilizar el cliente de Oracle Call Interface con TCP Fast Open (TFO) para conectarse con C o SQL*Plus a la base de datos de IA autónoma.
Asegúrese de que se cumplen los requisitos previos del cliente y el entorno del cliente. Consulte Prerequisites for TCP Fast Open (TFO) Connections para obtener más información.
Nota
Nota: Puede activar TCP Fast Open (TFO) con conexiones mTLS o TLS. Consulte Conexiones seguras a la base de datos de IA autónoma con mTLS o con TLS y Actualización de opciones de red para permitir TLS o requerir solo autenticación TLS mutua (mTLS) en la base de datos de IA autónoma para obtener más información.
Para utilizar Oracle Call Interface con TCP Fast Open (TFO), realice los siguientes pasos:
-
Descargue el último cliente instantáneo de Oracle para Linux, ya sea la versión 23.4 o posterior, o la 19.23 o posterior.
Consulte Oracle Instant Client Downloads for Linux x86-64 (64-bit) para Linux x86-64.
Consulte Descargas de Oracle Instant Client para Linux ARM (aarch64) para Linux ARM.
-
Conéctese con el parámetro
USE_TCP_FAST_OPENdefinido en el valorYES.Por ejemplo, agregue el parámetro
USE_TCP_FAST_OPENaconnect_dataen la cadena de conexión que utiliza para conectarse a la base de datos de IA autónoma:(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)))O defina el parámetro
sqlnet.ora:USE_TCP_FAST_OPEN=yes