Está en la página 1de 6

Universidad Alejandro De Humboldt.

Facultad De Ingeniería.
Carrera: Ingeniería En Informática.
Asignatura: Arquitectura del computador.
Sección: DCM0701IIV1.
Profesora: Edwin Márquez.

Corte II
Arquitectura del computador

Gallo Delgado, Cesar Adrián.


C.I: 28424596

Caracas, febrero del 2024.


Definición de CPU

Siendo el núcleo de cualquier computadora, actúa como el cerebro del


sistema. Es el componente esencial que lleva a cabo la mayoría de las operaciones
matemáticas y lógicas necesarias para el funcionamiento de la computadora.

Definición de Hilo (Thread)

Un Thread es una secuencia de instrucciones que puede ser ejecutada por el


sistema operativo. Esencialmente, un hilo es una unidad de ejecución más pequeña
que un proceso completo.

Los hilos son subcomponentes de un proceso mayor y comparten recursos como


memoria y archivos abiertos con el proceso principal. La capacidad de ejecutar
múltiples hilos dentro de un solo proceso permite a una aplicación llevar a cabo
múltiples tareas al mismo tiempo, lo cual mejora tanto la eficiencia como el
rendimiento.

Los hilos pueden ser creados por los programadores utilizando bibliotecas
específicas, dependiendo del sistema operativo, y pueden ejecutarse de manera
concurrente o en paralelo, lo que permite una ejecución más rápida y eficaz de tareas.

Definición de Conexión al servidor

Una conexión al servidor se refiere al acto de establecer una comunicación


entre un cliente, como un dispositivo o aplicación, y un servidor.

Las conexiones al servidor son esenciales para la mayoría de las operaciones en línea,
ya que permiten a los usuarios acceder a información, realizar transacciones,
interactuar con aplicaciones web y servicios en la nube. Las conexiones pueden ser
establecidas mediante protocolos de red como HTTP, HTTPS o FTP ,siendo los más
utilizados, su seguridad y eficiencia son cruciales para garantizar la integridad y la
disponibilidad de los servicios y datos accesibles a través de la red.

Como se calculan las conexiones e hilos para un servidor que utiliza SQL Server
2022

Para calcular las conexiones e hilos para un servidor que utiliza SQL Server
2022, es crucial considerar diferentes aspectos, incluyendo los límites de capacidad
de cálculo, el número máximo de conexiones de usuario simultáneas permitidas, y las
recomendaciones para la configuración de hilos de trabajo.

Límites de Capacidad de Cálculo:


Los límites de capacidad de cálculo de SQL Server 2022 varían según la edición de
SQL Server que se esté utilizando:

 Enterprise Edition: Limitada al número máximo de núcleos reportados por el


sistema operativo.
 Developer Edition: También limitada al número máximo de núcleos
reportados por el sistema operativo.
 Standard Edition: Limitada a menos de 4 sockets o 24 núcleos.
 Express Edition: Limitada a menos de 1 socket o 4 núcleos.

Estos límites se aplican a una sola instancia de SQL Server y no restringen el servidor
en el que se puede implementar la instancia. Implementar múltiples instancias de
SQL Server en el mismo servidor físico es una manera efectiva de utilizar la
capacidad de procesamiento de un servidor físico con más sockets o núcleos que los
límites de capacidad establecidos.

Número Máximo de Conexiones

El número máximo de conexiones de usuario simultáneas permitidas en una instancia


de SQL Server se puede consultar utilizando la función @@MAX_CONNECTIONS.
Este comando devolverá el número máximo de conexiones permitidas, que para SQL
Server 2022 puede ser de hasta 32767. Es crucial asegurarse de que se hayan creado
suficientes conexiones (o licencias) en el servidor SQL.

Configuración de Hilos de Trabajo

Para optimizar el rendimiento de SQL Server, es importante ajustar la configuración


de hilos de trabajo. Según la documentación de Microsoft, la opción de configuración
max worker threads determina el número de hilos de trabajo que SQL Server puede
usar para procesar tareas en segundo plano. La fórmula recomendada para calcular el
número óptimo de hilos de trabajo es:

Menos de 64 CPUs: 64

Entre 64 y 128 CPUs: 256 + ((CPUs lógicas - 4) * 32)

Más de 128 CPUs: 512 + ((CPUs lógicas - 4) * 32)

Estas recomendaciones son generales y pueden necesitar ajustes específicos basados


en la carga de trabajo y el entorno específico.
Consideraciones Adicionales

 Entorno Virtualizado: En un entorno virtualizado, el límite de capacidad de


cálculo se basa en el número de procesadores lógicos, no de núcleos, debido a
que la arquitectura de procesador no es visible para las aplicaciones invitadas.
 Configuración de SMT: Puede ser beneficioso deshabilitar SMT (Hyper-
Threading) en Intel cuando el rendimiento de cada procesador virtual es
importante. Esto se debe a que la capacidad de cálculo de un procesador
lógico de un solo subproceso de un núcleo SMT es menor que la capacidad de
cálculo de un procesador lógico del mismo núcleo con SMT deshabilitado.

Proporcione solución a las siguientes premisas:

Si se tiene un servidor Windows Server 2022, con tres (3) Discos SDD de nivel
Premium con 120 IOps, Un servidor Apache TOMCAT 9.0.76 y SQL Server
2019.

a. Para un máximo de request en el Gateway de 200 por minuto, cuantos


hilos máximos debe tener apache TOMCAT y cuantas conexiones
máximas, sabiendo que se debe configurar con arquitectura NIO.

Hilos máximos:

La configuración de hilos en Tomcat se maneja a través del archivo server.xml,


específicamente en la sección <Executor> dentro del <Connector> que utiliza NIO.
Para manejar 200 solicitudes por minuto, el número ideal de hilos puede variar según
la carga de trabajo y la capacidad de procesamiento de la CPU y la memoria. Una
guía general es empezar con un número de hilos alrededor de 200 para gestionar la
carga y ajustar según sea necesario. Es crucial monitorizar el rendimiento y ajustar
este número para evitar el agotamiento de recursos o el subutilizado de la capacidad
de procesamiento.

Conexiones máximas:

En una configuración NIO, el número de conexiones máximas está más


relacionado con la capacidad de manejo de la carga de trabajo por parte de los hilos.
No hay un límite fijo para el número de conexiones simultáneas, pero el rendimiento
y la estabilidad pueden verse afectados por un número excesivo de conexiones
simultáneas. Por lo tanto, el enfoque debe ser asegurar que los hilos estén
configurados adecuadamente para manejar la carga y ajustar según sea necesario.
b. Para SQL server cuanto es el número máximo de threads en que se debe
configurar

El número máximo de threads (hilos) que se deben configurar en SQL Server


depende de varios factores, incluyendo la edición de SQL Server, la capacidad del
servidor y la carga de trabajo esperada. SQL Server 2019 permite configurar el
número de threads de trabajo a través de la opción max worker threads en la
configuración de SQL Server.

Es recomendable comenzar con el valor predeterminado y ajustar según sea


necesario basándose en el monitoreo del rendimiento y la carga de trabajo. Es
importante tener en cuenta que un número muy alto de threads puede llevar a un
mayor consumo de recursos y potencialmente a un rendimiento degradado.

c. Para SQL server cuanto es el número máximo de conexiones en que se


debe configurar

El número máximo de conexiones en SQL Server 2019 se puede consultar y


configurar utilizando la opción max connections en la configuración de SQL Server.
Este valor determina el número máximo de conexiones simultáneas que SQL Server
puede manejar.

Para un servidor con recursos adecuados y una carga de trabajo manejable, un


valor predeterminado puede ser suficiente. Sin embargo, para entornos de alta
concurrencia, es posible que se necesite aumentar este número. Es crucial monitorear
el rendimiento y ajustar este valor según sea necesario para evitar el agotamiento de
recursos o el subutilizado de la capacidad de procesamiento.
BIBLIOGRAFÍA

D. Pinal (2023) SQL Server 2022-Thread Management for Performance


Improvement [Página web en línea] Disponible:
https://blog.sqlauthority.com/2023/05/26/sql-server-2022-thread-management-
for-performance-improvement/ [Consultado: 2024, febrero 28]

Howard (2023) ¿Qué es una CPU de servidor? [Página web en línea] Disponible:
https://community.fs.com/article/what-is-a-server-cpu.html [Consultado: 2024,
febrero 28]

Informática (2024) Propiedades de conexión de Microsoft SQL Server [Página web


en línea] Disponible: https://docs.informatica.com/es_es/data-quality-and-
governance/data-quality/10-4-0/guia-de-la-herramienta-del-analista/espacio-de-
trabajo-conexiones/propiedades-de-conexion-de-microsoft-sql-server.html
[Consultado: 2024, febrero 28]

Microsoft (2023) Límites de la capacidad de cálculo de cada edición de SQL Server


[Página web en línea] Disponible:
https://learn.microsoft.com/es-es/sql/sql-server/compute-capacity-limits-by-edition-of-
sql-server?view=sql-server-ver16 [Consultado: 2024, febrero 28]

N. Evanson (2022) Explainer: What Are Processor Threads? [Página web en línea]
Disponible: https://www.techspot.com/article/2547-what-are-threads/
[Consultado: 2024, febrero 28]

S. Harding (2021) What Is a CPU Thread? A Basic Definition [Página web en línea]
Disponible: https://www.tomshardware.com/reviews/cpu-computing-thread-
definition,5765.html [Consultado: 2024, febrero 28]

Stackoverflow (2014) ¿Cuántas solicitudes simultáneas puede manejar Tomcat de forma


predeterminada? [Página web en línea] Disponible:
https://stackoverflow.com/questions/18372464/how-many-concurrent-request-
can-tomcat-handle-by-default [Consultado: 2024, febrero 28]

También podría gustarte