Casa / Seguridad / Qué servidor para 1s 83. C: Contabilidad en un servidor separado

Qué servidor para 1s 83. C: Contabilidad en un servidor separado

Hasta la fecha, el producto financiero 1C ha pasado de ser una aplicación de contabilidad para la contabilidad a un complejo de gran formato para la contabilidad y el soporte de casi cualquier tipo de negocio, afirmando competir con los "monstruos" del mundo SAP R / 3 y Microsoft Dynamics AX (Axapta ).

Las empresas rusas están organizando cada vez más sus procesos comerciales utilizando configuraciones modernas 1C 8.3 "Gestión comercial", "Gestión de producción", "Gestión empresarial ERP" y similares. Los departamentos de contabilidad, marketing, producción y ventas se transfieren a 1C, se está llevando a cabo la integración con los sistemas de gestión de documentos y telefonía IP. Sin embargo, inmediatamente después de las intenciones "vamos a trabajar en 1C", surgen preguntas: ¿con qué recursos funcionará la base central de 1C, qué hardware mostrará el mejor resultado con un presupuesto razonable? Es más fácil para las empresas gigantes del sector público en esta situación: se dio un comando claro a numerosos integradores y arquitectos de TI a tiempo completo, se lanzaron licitaciones de gran presupuesto con la condición obligatoria de proporcionar un concepto llave en mano y más apoyo de la sistema por especialistas certificados. Pero, ¿qué pasa con las empresas que desean comprar e instalar uno de los productos 1C: Enterprise por sí mismas, gastando su presupuesto de manera inteligente?

El error más básico, si no se tiene en cuenta el uso de software pirateado o no verificado, es ahorrar en hardware para 1C. Estas tendencias son especialmente comunes en startups y pequeñas empresas. Existe la opinión de que no es necesario comprar equipos de servidor costosos con procesadores Intel Xeon, no es necesario precalcular la cantidad de RAM, la carga en la CPU y el subsistema de disco, que no es necesario crear redundantes arreglos de disco (Raid), use controladores de disco profesionales con Cache-RAM, etc. Los errores en los cálculos de la arquitectura de TI para 1C tienen consecuencias lamentables, de las que la empresa ya se entera al detener los procesos comerciales. Por lo tanto, es muy importante prestar atención a cada nodo de hardware de la plataforma del servidor para 1C.

Ejemplos de problemas típicos debido a la construcción incorrecta de una arquitectura de TI para 1C:
  • "Frenado" de las interfaces base y 1C debido al exceso de carga en los recursos clave (generalmente RAM o subsistema de disco).
  • Errores y "caídas" del programa 1C debido a la inestabilidad del equipo seleccionado incorrectamente.
  • Parada de la empresa por fallo de la central hardware.
  • Pérdida parcial o total de datos 1C debido a fallas aleatorias de hardware o software.

Recursos de hardware del servidor 1C

Consideremos a continuación los recursos de hardware más clave, el error al elegir cuál puede arruinar todo el proyecto de automatización empresarial al crear un servidor bajo 1C por su cuenta.

Unidad Central de Procesamiento (CPU)

El número de núcleos de CPU físicos. El tema de las eternas disputas en varios foros de 1C es qué es más importante que la frecuencia de la CPU o el multinúcleo. Las raíces de estas contradicciones se remontan al pasado, a 1C 8.0 o incluso a 1C 7.7. De hecho, los procesos ejecutables 1C de versiones anteriores eran puramente de un solo núcleo, es decir, no importa cuántos núcleos proporcione el procesador central: el servicio de servidor empresarial 1C 8.0 o el "cliente pesado 1C 7.7" siempre ocuparon solo un núcleo "cero" en Sistema operativo. Hoy, la imagen ha cambiado: el sistema operativo distribuye audazmente las tareas de un proceso 1C: Enterprise (rphost) en varios núcleos de CPU (consulte la Figura 1).




Figura 1: carga de la CPU durante la operación de los procesos del servidor 1C.


Pero esto no significa en absoluto que si compra un procesador con la cantidad máxima de núcleos, entonces un servidor 1C emparejado con un DBMS (la mayoría de las veces DBMS significa MS SQL) mostrará un rendimiento fantástico y la reescritura de los períodos contables en el programa 1C será cuestión de varios minutos. Es necesario entender la diferencia entre la velocidad de realizar una sola operación y el proceso de procesar una gran cantidad de información simultáneamente. La cantidad de núcleos físicos solo le permite resolver el problema de la estabilidad y el rendimiento del trabajo simultáneo con muchas tareas diferentes del servidor 1C: Enterprise y DBMS. De ahí la conclusión: cuanto mayor sea el número de usuarios de 1C, más importante será el número correcto de núcleos para el cómodo funcionamiento simultáneo de estos mismos usuarios. La dependencia de la cantidad de usuarios en la cantidad de núcleos para el servidor 1C se muestra en la Tabla 1.


Número de usuarios simultáneos en el servidor 1C:Enterprise Tipo y modelo de procesador Número de núcleos utilizados
Hasta 10 usuarios Intel Core personalizado desde 3.1Ghz No más de 2-4
Hasta 20 usuarios Servidor Intel Xeon de 2.4 Ghz 4 a 6
Hasta 30 usuarios Servidor Intel Xeon de 2.6 Ghz 6 a 8 núcleos
Hasta 50 usuarios Servidor Intel Xeon de 2.4 Ghz - en la cantidad de 2 piezas Desde 4 por procesador

Tabla 1: la proporción de la cantidad de usuarios en el servidor 1C y la cantidad recomendada de núcleos de CPU.


frecuencia de la CPU. En contraste con la cantidad de núcleos, la frecuencia del procesador central afecta precisamente la velocidad de procesamiento de una parte de una tarea a la vez, que es el criterio más popular para los usuarios finales de 1C. La frecuencia del procesador es exactamente el parámetro, con un aumento en el que para un solo usuario aumentará la velocidad de procesamiento de solicitudes por parte del servidor 1C y el DBMS y el tiempo durante el cual el sistema proporcionará el resultado final al usuario final. va a disminuir. En apoyo de esto, el conocido especialista Gilev, en uno de sus artículos basado en pruebas prácticas, llegó a una conclusión inequívoca: "la velocidad de 1C está mucho más influenciada por la frecuencia del procesador central que sus otros parámetros, ya sea es un cliente final 1C o un servidor 1C: Enterprise ". Esta es la arquitectura del programa 1C.

Caché, virtualización e hiperprocesamiento. En el pasado, cuando los procesadores multinúcleo aún no eran tan comunes, Intel inventó tecnología especial el procesador central, simulando multi-core, el llamado "hiper-threading". Una vez habilitado, el sistema operativo define un procesador físico (un núcleo físico) como dos procesadores separados (dos núcleos lógicos). Recomendamos desactivar "hyperthreading" para el servidor 1C. Esta tecnología no trae ninguna aceleración de 1C.

Utilizando maquinas virtuales para el servidor 1C:Enterprise y DBMS, se debe tener en cuenta que los núcleos de las máquinas virtuales son "más débiles" que los núcleos físicos reales, aunque se les llama igual - "núcleos". No hay coeficientes oficiales exactos, pero los artículos en los portales técnicos de Microsoft recomiendan contar de 4 a 6 núcleos de procesador en una máquina virtual por núcleo físico.

Una memoria caché es una memoria reutilizable utilizada por el procesador para reducir el tiempo promedio de acceso a la memoria de la computadora. De hecho, es una parte integral del procesador, ya que está ubicado en el mismo chip y forma parte de los bloques funcionales. Aquí todo está muy claro: cuanto más grande es el caché, más "piezas" de información puede procesar el procesador. Por lo general, el tamaño de la memoria caché depende de los modelos de procesador: cuanto más caro sea el modelo, generalmente habrá más memoria caché. Sin embargo, no creemos que el tamaño de la memoria caché del procesador afecte drásticamente el rendimiento del servidor 1C y DBMS. Más bien, pertenece al campo del "ajuste fino".

Tipo de procesador. Todo el mundo sabe que el hardware se divide en servidor y usuario. ¿Es posible en algunos casos usar una CPU personalizada económica como alternativa a una CPU de servidor profesional pero costosa? Resulta que es posible. Consideremos una tabla que compara los parámetros principales de dos variantes de procesadores centrales Intel (consulte la Tabla 2).

Procesador Intel® Core™ i7-6700T personalizado (caché de 8 M, hasta 3,60 GHz) Servidor Procesador Intel® Xeon® E5-2680 v2 (caché de 25 M, 2,80 GHz)
Cache 8MB 25 MB
Frecuencia sistema de autobús 8 GT/s DMI3 8 GT/s IPC
conjunto de comandos SSE4.1/4.2 de 64 bits, AVX 2.0 AVX 2.0 de 64 bits
Numero de nucleos 4 10
reloj base de la CPU 2,8 GHz 2,8 GHz
máx. volumen y tipo memoria de acceso aleatorio 64 GB sin ECC ECC de 768 GB
Costo estimado 354$ 1 280$

Tabla 2 - Comparación de los principales parámetros de la CPU doméstica y de servidor de Intel.


Como podemos ver, el procesador del servidor tiene valores mucho más altos en número de núcleos, tamaño de caché, soporte para más RAM y, por supuesto, a un precio más alto. Sin embargo, la CPU del servidor prácticamente no se diferencia de la CPU del usuario en términos de soporte para ciertas instrucciones del procesador (instrucciones) y en la frecuencia del reloj. De esto podemos concluir que para las organizaciones pequeñas es bastante aceptable usar un procesador central personalizado para el servidor 1C: Enterprise. El único problema es que no se puede instalar un procesador de usuario en un socket de servidor. tarjeta madre y soporte RAM del servidor con verificación de paridad (ECC), y el uso de componentes personalizados implica riesgos para la estabilidad de todo el sistema en su conjunto.

Memoria de acceso aleatorio (RAM)

tipo de RAM. La barra de RAM (RAM) difiere en su propósito: para sistemas de servidor multiusuario o para dispositivos personales: PC, computadoras portátiles, nettops, clientes ligeros, etc. Como en el caso de la CPU, los parámetros principales de los módulos de RAM son aproximadamente equivalentes, la RAM de la PC moderna prácticamente no se queda atrás del servidor en el volumen de una barra, ni en la frecuencia del reloj, ni en el tipo de módulos DDR . Las diferencias entre la RAM del servidor y la RAM "doméstica" en los casos de uso y el propósito de la plataforma de hardware: aquí también es donde se forma su mayor costo:

  • La RAM del servidor tiene paridad ECC (Código de corrección de errores), una técnica de codificación / decodificación que le permite corregir errores en el procesamiento de información directamente por el módulo RAM
  • La placa base del servidor tiene muchas más ranuras para instalar módulos RAM que una PC normal
  • La RAM del servidor contiene registros (búferes) que proporcionan almacenamiento en búfer de datos (registrados parcialmente o almacenados en búfer completo), lo que reduce la carga en el controlador de memoria con muchas solicitudes simultáneas. Los "FB-DIMM" con búfer son incompatibles con los sin búfer.
  • Módulos registro de memoria también le permite aumentar la escalabilidad de la memoria: la presencia de registros permite instalar más módulos en un canal.

Podemos concluir que el uso de módulos RAM de servidor permite instalar grandes cantidades de RAM en un sistema, y ​​las técnicas de control de paridad ECC y el uso de búfer permiten que el sistema operativo del servidor funcione de manera estable y rápida.

La cantidad de memoria RAM. Uno de los factores clave para alto rendimiento servidor 1C y DBMS es una cantidad suficiente de RAM. Por supuesto, los requisitos reales de RAM dependen de muchos factores: el tipo de configuración de 1C, la cantidad de procesos de servidor 1C: Enterprise, el tamaño de la base de datos DBMS, etc. Sin embargo, es posible derivar una dependencia aproximada de la cantidad de RAM en la cantidad de usuarios (ver Tabla 3).


Requisito de RAM para el servidor 1c y DBMS Hasta 10 usuarios Hasta 20 usuarios Hasta 30 usuarios Hasta 50 usuarios
Servidor 1c: Empresa 4-6 GB 6-8GB 12-14 GB 18-24 GB
Servidor MS SQL 4-6 GB 8-10GB 16-18 GB 24-28 GB

Tabla 3 - Relación aproximada del número de usuarios del servidor 1C y la RAM recomendada para los procesos del 1C: servidor Enterprise y servidor MS SQL.


Con respecto a los procesos del servidor 1C: Enterprise (rphost.exe): las plataformas 1C modernas no permiten modo manual indicar el número de procesos del servidor 1C. En su lugar, el sistema requiere que establezca parámetros como el número bases de información y el número de usuarios por proceso rphost.exe, después de lo cual determina automáticamente el número óptimo de procesos del servidor 1C:Enterprise. También puede configurar la liberación fluida de RAM mediante el proceso rphost.exe si su volumen supera un umbral predeterminado. Al mismo tiempo, el servidor 1C crea un nuevo proceso rphost.exe, que se hace cargo gradualmente de las tareas 1C, permitiéndole descargar el proceso 1C requerido.

También debe tener en cuenta que la cantidad de RAM asignada al servicio SQL se considera suficiente si el impacto de los datos SQL en la memoria caché es de al menos el 90 %. Esta métrica es muy útil porque no puede simplemente mirar la cantidad de RAM consumida por el servidor SQL; las últimas versiones de SQL han consumido RAM dinámicamente; la cantidad máxima posible de RAM se captura y libera a medida que otros procesos solicitan RAM.

Frecuencia RAM. En resumen, este es el ancho de banda de los canales a través de los cuales se transmiten los datos a la placa base y de allí al procesador. Es deseable que este parámetro coincida con la frecuencia permitida de la placa base o la supere, de lo contrario el canal de transmisión de la memoria RAM corre el riesgo de convertirse en un cuello de botella. Dentro de un tipo de DDR, aumentar/disminuir la frecuencia no afecta drásticamente el rendimiento del servidor 1C y está más relacionado con el área de "ajuste fino".

Tiempos de RAM. Este es el retraso o latencia (Latency) de la memoria RAM. Este parámetro se caracteriza por el tiempo de retraso de datos durante la transición entre diferentes módulos del chip RAM. Los valores más pequeños significan un rendimiento más rápido. Sin embargo, el impacto en el rendimiento general del sistema del servidor, y más aún en el servidor 1C:Enterprise, no es alto. Por lo general, solo los jugadores y los overclockers prestan atención a estos parámetros, para quienes cada gota adicional de rendimiento es lo más caro.

Subsistema de disco y discos duros HDD

controladores de disco duro. El dispositivo principal para conectar y organizar discos duros en un sistema de hardware es el controlador de disco duro. Es de dos tipos:

1. Integrado: el módulo del controlador está integrado en el sistema, la caja del disco duro está conectada directamente a la placa base. Se considera una solución más económica.

2. Externo: es una placa de circuito impreso separada (dispositivo), que está conectada al conector de la placa base. Se considera una solución más profesional debido al hecho de que tiene chips separados para realizar y controlar operaciones con hardware HDD. Recomendado para sistemas de servidor importantes como 1C: Enterprise server y DBMS.

También hay un tercer tipo: un dispositivo para recibir / transmitir datos en bloque a través de canales iSCSI, FiberChanel, InfiniBand, SAS. Sin embargo, en esta versión, el subsistema de disco se "elimina" para dispositivo separado almacenamiento de datos (SHD), conectado al servidor a través de un cable óptico o de cobre. En nuestro artículo, estamos analizando los requisitos para un servidor independiente para 1C, por lo que no consideraremos este tipo.

Tipos y niveles de matrices RAID. Es una tecnología de virtualización de datos que combina varias unidades en una unidad lógica para lograr redundancia y rendimiento. Considere los niveles de especificación RAID más populares:

  • RAID 0 ("Seccionamiento") No tiene redundancia y distribuye la información a la vez en todos los discos incluidos en la matriz en forma de pequeños bloques ("bandas"). Esto mejora enormemente el rendimiento, pero adolece de confiabilidad. No recomendamos usar este tipo de matriz a pesar de la ganancia de rendimiento.
  • RAID 1 ("Mirroring", "mirror"). Tiene protección contra fallas de la mitad del hardware disponible (en el caso general, uno de los dos discos duros), proporciona una velocidad de escritura aceptable y una ganancia en la velocidad de lectura debido a la paralelización de consultas. Este tipo de matriz "tirará" bastante de un servidor 1C + DBMS hasta 25-30 usuarios, especialmente si se utilizan discos SAS 15K o SSD.
  • RAID 10. Los pares de discos duplicados se alinean en una "cadena", por lo que el volumen del volumen resultante puede exceder la capacidad de uno disco duro. En nuestra opinión, el tipo de arreglo de discos más exitoso, porque combina la confiabilidad de RAID1 y la velocidad de RAID 0. En combinación con unidades SAS 15K o SSD, se puede usar para servidores 1C de 40 a 50 usuarios.
  • RAID 5. Conocido por su economía. Sacrificando en aras de la redundancia la capacidad de un solo disco de la matriz, obtenemos protección contra la falla de cualquiera de los discos duros del sistema. (su variante RAID 6 requiere dos discos duros adicionales para almacenar las sumas de verificación, pero retiene los datos incluso si fallan dos unidades). Este tipo de arreglo es económico, confiable y tiene una velocidad de "lectura" bastante tangible. Desafortunadamente, el cuello de botella de esta matriz es la baja velocidad de escritura, lo que permite que se use cómodamente con configuraciones de servidor 1C de hasta 15 a 20 usuarios. También es óptimo para fines aplicados: almacenamiento de datos de archivos, archivos de gestión de documentos, etc.

Tipos de interfaces de disco duro. Según el tipo de conexión, los discos duros se dividen:

  • Unidad de disco duro Sata para el hogar. La opción más económica para discos duros, diseñada para usar en PC domésticas o centros de medios de red. No se recomienda encarecidamente utilizar dichos dispositivos en servidores 1c debido a la baja tolerancia a fallas y la estabilidad de funcionamiento: los componentes de estos discos simplemente no están diseñados para funcionar las 24 horas del día, los 7 días de la semana y fallan rápidamente.
  • Servidor HDD Sata. Este nombre generalmente se refiere a discos duros con una interfaz Sata y una velocidad de giro de 7200 rpm. El prefijo "Servidor" significa que se ha probado el rendimiento de dichas unidades en sistemas de servidor y están diseñadas para trabajo estable en modo 24/7. Suele usarse en servidores 1C para almacenar grandes cantidades de información que no requiere alta velocidad de procesamiento. Por ejemplo: bases de datos de archivo 1c, intercambio de carpetas, carga de archivos documentos de oficina etc
  • Servidor HDD SAS. Las diferencias entre la interfaz SAS (el análogo moderno de SCSI) y Interfaz SATA varios. Aquí, el tiempo de respuesta promedio del disco, y el trabajo en un estante de disco común, y el trabajo con el controlador HDD a tasas de intercambio de información más altas: hasta 6 Gb / s (en comparación con Sata 3 Gb / s). Pero la principal ventaja es la existencia de modelos de disco SAS con una velocidad de giro de 15.000 rpm. Es esto característica de diseño permite que los discos SAS realicen casi 3 veces más IOPS en comparación con el HDD del servidor Sata. Dichos discos SAS son de tamaño pequeño y se recomiendan para usar con bases de datos principales 1c con una carga de trabajo constantemente alta.
  • unidades SSD. Estas unidades difieren de las anteriores no en la interfaz de conexión, sino en su diseño: son de estado sólido y no tienen partes móviles, es decir, en esencia, son análogos de "unidades flash". Dichas tecnologías permiten que los SSD produzcan una cantidad "escandalosa" de operaciones de E / S por segundo (desde 10,000 operaciones en los modelos SSD más simples). Sin embargo, esta ventaja también tiene una desventaja: el precio más alto de los SSD y su "umbral de vida", que depende del límite en la cantidad de escrituras en los bloques SSD. Sin embargo, cada año estos discos se vuelven más asequibles y duraderos. Dado que el costo de los discos SSD aumenta muchas veces según el volumen, lo más razonable sería usarlos para bases de datos 1c pequeñas pero súper cargadas que requieren alta velocidad de acceso, así como para bases de datos temporales TempDB.

IOPS es el número de operaciones de E/S por segundo. De hecho, IOPS es la cantidad de bloques de información que se pueden leer o escribir en los medios en 1 segundo de tiempo. Es decir, en su forma más pura: este es el parámetro clave de la velocidad de procesamiento de la información por parte del disco duro, que afecta el rendimiento del servidor 1C. Si tomamos para la comparación un bloque de información estándar de 4kb, podemos distinguir aproximadamente los siguientes indicadores IOPS (consulte la Tabla 4).


disco duro IOPS Interfaz
Unidades SATA de 7200 rpm ~75-100 IOPS SATA 3Gb/s
Unidades SATA de 10.000 rpm ~125-150 IOPS SATA 3Gb/s
Unidades SAS de 10.000 rpm ~140 IOPS S.A.S.
Unidades SAS de 15.000 rpm ~175-210 IOPS S.A.S.
unidades SSD Desde 8000 IOPS SAS o SATA

Tabla 4: indicadores de IOPS en varios tipos de discos duros cuando se trabaja con un bloque de datos de 4 kb.


Por supuesto, en su forma pura, IOPS es de poca utilidad para calcular los requisitos y cálculos finales para el subsistema de disco del servidor 1C. Después de todo, el rendimiento total del subsistema de disco consiste en el tipo de matriz RAID, tipos de disco e indicadores de la velocidad de su interfaz, tiempo de respuesta (Latencia), tiempo de acceso aleatorio, porcentaje de operaciones de lectura y escritura, y muchos más. otros factores. Sin embargo, este parámetro, en nuestra opinión, es un indicador clave de la velocidad del subsistema del disco y, en las etapas de desarrollo de una arquitectura de servidor, ayuda a determinar qué tipo de discos duros serán generalmente los más adecuados para ciertas necesidades. (ver calculadora RAID)

Examen de práctica

¿Cuál es la relación entre el número de usuarios de 1C y el número de iops? Nuestro equipo realizó una prueba práctica (consulte la Tabla 5) para medir la carga en el subsistema del disco una cierta cantidad sesiones 1C. Dado que el sistema 1C es un entorno programable y cada empresa puede tener su propio conjunto de procesos comerciales en 1C, necesitábamos estar vinculados a una determinada configuración de referencia para las pruebas. En esta capacidad, se eligió una configuración especializada de TsUP 1C, desarrollada para pruebas y depuración. Sobre esta base, nuestros programadores de 1C agregaron una serie de consultas que simulan el funcionamiento normal de una empresa convencional, con la formación de consultas contables, publicaciones, informes y realización de documentos operativos.


disco del sistema disco de base de datos
Iteración Usuarios Escritura de IOPS Lectura de IOPS Escritura de IOPS Lectura de IOPS
Promedios
1 12 9,1 0,1 13,1 1,5
2 20 7,9 0,1 21,8 0,4
3 32 5,2 0,006 36,1 5,2
4 40 7,7 0,013 27,52 1,3
5 52 7,7 0,006 32,04 0,94

Tabla 5 - Resultados de una prueba práctica sobre la carga en el subsistema de disco.


Los resultados de la prueba muestran que la mayor parte de la carga en el subsistema del disco se produce cuando se escribe 1C en la base de datos del servidor DBMS y en el disco del sistema operativo (que aloja los archivos del servidor de caché 1C:Enterprise de forma predeterminada).

Al mismo tiempo, llevamos a cabo mediciones prácticas de bases de datos 1C UPP 8.2 que ya estaban en funcionamiento durante el período de prueba: 5 días hábiles. Muestran que, en promedio, un servidor 1C + DBMS consume el doble de iops "para escribir" que "para leer". Tal diferencia entre las pruebas sintéticas y las estadísticas de monitoreo de un servidor 1C real se debe tanto al muestreo periódico de datos de información de la base de datos durante la jornada laboral como a la lectura regular de la base de datos durante respaldo o replicación DBMS.

Otros componentes del disco duro, a los que vale la pena prestar atención.

  • Tamaño físico (factor de forma). Hasta la fecha, casi todas las unidades conocidas para Computadoras personales y los servidores tienen un tamaño de 3,5 o 2,5 pulgadas. Tenga en cuenta que las unidades de 2,5 pulgadas no se producen en grandes volúmenes.
  • Tiempo de acceso aleatorio- tiempo por el cual disco duro garantizado para realizar una operación de lectura-escritura en un área específica del disco magnético. Por regla general, más altos resultados tener discos de servidor. Esto es suficiente parámetro importante al construir una matriz de discos para el servidor 1C DBMS.
  • Eje de velocidad- el número de revoluciones del eje del disco duro por minuto. Aquí todo es simple y claro: el tiempo de acceso y la tasa promedio de transferencia de datos del disco duro dependen de la velocidad de rotación del eje con placas magnéticas.
  • Capacidad de búfer del disco duro- Un búfer es una memoria temporal diseñada para suavizar las diferencias en la velocidad de lectura/escritura de un disco duro y la transferencia de datos a través de la interfaz.
  • Fiabilidad- se define como el tiempo medio entre fallos (MTBF). Como regla general, la confiabilidad depende directamente del fabricante, el precio y el entorno de uso del disco duro. Consideramos que la confiabilidad es un parámetro importante del disco duro que afecta la calidad del servidor 1C.

La elección correcta: hardware doméstico o de servidor

El abaratamiento de los componentes de hardware y el crecimiento activo de las capacidades potenciales de las "computadoras domésticas" conducen a otro error fatal: las pequeñas empresas están utilizando activamente las estaciones de trabajo como plataforma para colaborar con las bases de datos 1C. Al mismo tiempo, sin darse cuenta de que, además de los parámetros de la frecuencia central, la cantidad de memoria y la posibilidad de usar unidades SSD económicas en una PC normal, existen requisitos más sistémicos, más profundos y más importantes para el funcionamiento del hardware. en una estructura comercial (ver Tabla 6).

Para resolver el problema de organizar un servidor 1C, ofrecemos el alquiler de servidores en la nube 1C en centros de datos de clase Tier III. La viabilidad económica de elegir un servidor de alquiler se puede encontrar en el artículo.


Parámetros Servidor Computadora personal
Suficiencia de la potencia informática V V
Operatividad garantizada del sistema en modo 24/7 V X
Fiabilidad y estabilidad de los componentes de hardware clave V X
Posibilidad control remoto alimentación y consola (IPMI) V X
Coste presupuestario de la plataforma de hardware. X V

Tabla 6 - Comparación de hardware doméstico y de servidor según los criterios requeridos para el funcionamiento de alta calidad del servidor 1C.

Trabajo tolerante a fallas 1C

Por supuesto, uno de los requisitos importantes para la parte del servidor de 1C es la estabilidad de su funcionamiento y la resistencia a fallas. Microsoft y el mismo 1C han realizado muchos esfuerzos en esta dirección, creando tecnologías para agrupar sus servicios en un nivel bastante serio (ver Tabla 7).


Tolerancia a fallas de los servidores SQL Basado en el concepto de un único almacén de datos compartido. La tecnología de clústeres de SQL Server integrada combina dos servidores SQL en un clúster con una única dirección IP virtual y una única base de datos. Así, cuando falla el SQL principal, las consultas se transfieren automáticamente al respaldo.
La segunda opción es el recién aparecido AlwaysOn, una tecnología para la replicación regular automática de bases de datos DBMS entre los servidores SQL primario y de respaldo. Al mismo tiempo, el servidor SQL duplicado se encuentra físicamente en un almacenamiento diferente, lo que aumenta la resistencia a los riesgos.
Servidor de servicio de conmutación por error 1C: Enterprise Los servidores 1C Enterprise se combinan en un clúster de conmutación por error de software activo-activo con conmutación por error automática y almacenamiento de sesiones actuales.

Tabla 7 - Tolerancia a fallas de los servidores SQL y 1C.


Sin embargo, cada tecnología tiene ventajas y desventajas. Además de las ventajas clave, debe conocer algunas características de la agrupación en clústeres de 1C y SQL () para no terminar con un deterioro en el rendimiento del servicio:

  • La agrupación en clústeres de SQL utiliza una IP virtual. Y esto significa que la interacción del servidor 1C: Enterprise y MS SQL siempre ocurrirá de acuerdo con interfaz de red, incluso si ambos servicios están en el mismo sistema operativo. Lo que, en consecuencia, ralentizará el trabajo de 1C en comparación con la versión clásica de la arquitectura recomendada por 1C: el uso de memoria compartida. En principio, este obstáculo se puede "pasar por alto" utilizando, por ejemplo, la tecnología MS SQL Log Shipping. Sin embargo, en este caso, el cambio a un servidor SQL de respaldo ya no será automático y esta opción no puede considerarse un clúster completo.
  • Un clúster de SQL requiere un gran presupuesto. Si estamos hablando de la agrupación en clústeres clásica del servicio MS SQL, se requiere un único almacenamiento de base de datos, conectado a los servidores SQL principal y de respaldo. Por lo general, este papel lo desempeñan los costosos sistemas de almacenamiento, lo que aumenta el presupuesto en un orden de magnitud. Si estamos hablando del novedoso AlwaysOn, entonces no se requiere un único almacenamiento de base de datos, la tecnología funciona con unidades locales servidores primarios y de respaldo a través de la red. Pero necesita una versión de SQL Server Enterprise, cuya licencia cuesta 4 veces más que un SQL Server estándar normal.
  • Número de licencias. A pesar de que el segundo servidor SQL no procesa datos y está en reserva, será necesario comprar licencias para ambos servidores, tanto el principal como el de respaldo. Particularmente dolorosas para el presupuesto son las licencias de SQL Server Enterprise para implementar un clúster distribuido de grupos de alta disponibilidad AlwaysOn.
  • No tiene que usar hardware personalizado barato para algo tan importante como un sistema de contabilidad para toda la empresa. Precio en este caso determina directamente la calidad, la estabilidad y la durabilidad de dicha plataforma.
  • Al elegir una plataforma de servidor, recomendamos prestar atención a la presencia de dos fuentes de alimentación, una tarjeta IPMI remota y la marca del fabricante. Por supuesto, todos eligen una solución en función de su presupuesto, las mejores marcas a veces son demasiado caras y no son del todo apropiadas, pero no debe ahorrar en absoluto con el fabricante, esto puede provocar una fuerza mayor incontrolable al trabajar con 1C. Personalmente, utilizamos plataformas de servidor Supermicro en combinación con CPU de servidor Intel.
  • Existe la opinión, confirmada por la práctica, de que el rendimiento de 1C depende más de la frecuencia más alta de la CPU que de la cantidad de núcleos proporcionados.
  • No es necesario ahorrar en la cantidad de RAM asignada para el servidor 1C y el servicio SQL. La memoria RAM es actualmente un recurso bastante barato, y su escasez (incluso en un 10-15 por ciento) conducirá a una fuerte caída en el rendimiento del sistema 1C, porque. se habilitará un sistema de intercambio más lento. Además, el intercambio generará una carga adicional en el subsistema del disco, lo que empeorará aún más la situación.
  • La empresa EFSOL ofrece servicios integrales para la selección de un servidor 1C, que incluye: diseño, compra, configuración y mantenimiento del servidor 1C.
  • Una alternativa a la creación de su propio servidor 1C es alquilar un servidor para 1C. Las tecnologías en la nube permiten, a bajos costos mensuales, obtener un servicio confiable tolerante a fallas para un trabajo cómodo en 1C.

Integración de sistema. Consultante

Al elegir qué servidor se necesita para 1C, debe recordarse que mientras los usuarios trabajan con él, se realizarán muchas operaciones de lectura y escritura de datos por segundo.

Lo más probable es que quede claro de inmediato por qué es tan importante un diseño de servidor competente para 1C: si el "hardware" se eligió inicialmente incorrectamente y no corresponde a la carga en el sistema, entonces existe el riesgo de que o incluso funcione de manera intermitente, esos datos importantes se perderá. Por otro lado, cree un servidor bajo 1C, compre todo el hardware y software puede costar una cantidad importante para la empresa, por lo que es recomendable seleccionar el equipo de forma que se eviten gastos innecesarios.

Selección de servidor para 1C

Cuando nuestros especialistas necesitan hacer una elección de configuración para el servidor 1C, lo primero que preguntan es cuántos usuarios trabajarán con 1C en la empresa y qué conjunto de servicios planean usar, cuáles serán, quién administrará el 1C servidores y como. Partimos de esta información al crear un servidor 1C.

Requisitos para el servidor 1C

En la estructura de hardware del servidor 1C, las características del procesador, RAM, subsistema de disco e interfaces de red serán importantes para nosotros.

Es necesario que aseguren un funcionamiento estable y suficientemente productivo de los siguientes componentes:

  • Sistema operativo;
  • servidor de base de datos (la mayoría de las veces lo es);
  • parte del servidor 1C (no para todos los casos, ya que una pequeña empresa con 2-10 usuarios puede trabajar con 1C en modo archivo);
  • trabajo del usuario en modo Escritorio remoto;
  • trabajo de usuarios remotos a través de cliente ligero o cliente web.

Elegir un procesador para un servidor 1C

La cantidad óptima de núcleos de procesador generalmente se calcula en función del hecho de que necesita reservar 1-2 núcleos para el funcionamiento del sistema operativo, 1-2 núcleos para el funcionamiento de la base de datos SQL, 1 más para el funcionamiento del servidor de aplicaciones , y aproximadamente 1 núcleo por cada 8-10 sesiones de usuario simultáneas (para que los usuarios no se quejen más tarde de que el servidor 1C se ralentiza).

Tenga en cuenta que la velocidad del procesamiento de solicitudes no depende tanto de la cantidad de núcleos, sino de la velocidad del reloj del procesador, y la cantidad de núcleos afecta más la estabilidad del trabajo con una gran cantidad de usuarios y tareas simultáneas de ellos.

¿Cuánta memoria necesita un servidor 1C?

Además de lo anterior, si necesita un servidor 1C para 100 o más usuarios, le recomendamos implementar un clúster de al menos dos servidores físicos 1C.

Proponemos calcular la cantidad de RAM requerida en función de los siguientes indicadores:

  • Se requerirán 2 GB para el funcionamiento del sistema operativo
  • al menos 2 GB para la memoria caché de MS SQL Server, y es mejor que este valor sea del 20 al 30 % del volumen real de la base de datos; esto garantizará una experiencia de usuario cómoda con ella
  • 1 - 4 GB para servidor de aplicaciones 1C
  • 100 - 250 MB requerirán una sesión de terminal de usuario, según el conjunto de funciones del servidor 1C, la configuración utilizada

Aquí están nuestros cálculos aproximados de los parámetros del servidor 1C 8.3:

Es mejor comprar RAM con un margen: este es uno de los factores más importantes en el alto rendimiento de un servidor 1C y, al mismo tiempo, ahora es uno de los componentes más baratos. Si no hay suficiente memoria en el servidor 1C Enterprise, esto se notará mucho durante la operación, por lo tanto, cuando se trata de qué servidor 1C elegir, siempre preste atención para asegurarse de que tenga suficiente RAM.

Servidor 1C: equipo para el subsistema de disco

Al elegir qué servidor se necesita para 1C, debe recordarse que mientras los usuarios trabajan con él, se realizarán muchas operaciones de lectura y escritura de datos por segundo. Este parámetro, a qué velocidad el disco duro le permite procesar datos, también es una de las claves para la velocidad del servidor 1C.

Al diseñar un servidor 1C, le recomendamos que cumpla con los siguientes requisitos para el equipo del subsistema de disco:

  • No importa qué servidor cree para 1C, en ningún caso recomendamos usar discos individuales en los servidores; es recomendable organizarlos en arreglos RAID (RAID 10 para bases de datos grandes o RAID 1 para bases de datos pequeñas), donde las tablas de la base de datos se ubicará.
  • Recomendamos mover los archivos de índice a un SSD separado para un acceso más rápido a ellos
  • TempDB: en SSD 1-2 (RAID 1).
  • Coloque los datos del sistema operativo y del usuario en RAID 1 de SSD/HDD.
  • Para los archivos de registro, asigne un disco lógico independiente del arreglo o un disco SSD físico.
  • Si es posible, utilice controlador de hardware- Hemos visto situaciones en las que un servidor potente y costoso se ralentizaba debido a un rendimiento insuficiente del controlador.

Selección de servidor para 1C

En este artículo hemos brindado algunos consejos y cálculos aproximados sobre cómo elegir un servidor para 1C, esperamos que te sean de utilidad.

En conclusión, agreguemos una cosa más: no debe intentar ahorrar dinero usando una computadora de usuario para un servidor 1C (como se hace a menudo en pequeñas empresas): el hardware del usuario es mucho menos confiable y tolerante a fallas que el hardware del servidor de similar rendimiento. No vale la pena arriesgar el sistema contable de su empresa. Si comprar el hardware correcto está fuera de su presupuesto, es posible que desee considerar implementar 1C en la nube.

Si le resulta difícil averiguar qué servidor elegir para 1C Enterprise 8.3, cómo hacer un servidor 1C, porque no se ha encontrado con esta tarea antes, siempre puede comunicarse con una empresa integradora de sistemas para que los especialistas técnicos experimentados lo ayuden. diseñar, comprar, instalar y configurar un servidor adecuado para 1C.

Para empezar, propongo destacar varios escenarios de trabajo:

1.) Trabajar con la base de archivos a través de un recurso compartido (servidor web)

2.) Trabajar con la base de archivos en la terminal

3.) Trabajar con la base de datos del servidor (MSSQL)

Trabajar con la base de archivos a través de un recurso compartido (servidor web)


Todo es bastante simple aquí. Si esto formas regulares y 1-3 usuarios. Luego, en el "servidor" (la máquina en la que se ubicará la base, seleccione:

  • tornillos rápidos- preste atención a la velocidad del husillo (tomamos 7200 rpm). Por ejemplo, no tomamos la serie verde de WD, tomamos la negra o la roja. Consulte la serie Constellation de Seagate.
  • UPC- los núcleos no son tan importantes como su frecuencia. 1C usa multinúcleo bastante mal (en absoluto), por lo que no obtendrá ningún beneficio de un procesador de 8 núcleos, un procesador de 2 núcleos con una frecuencia más alta lo hará. Por ejemplo, core i3 4360: esta es actualmente la frecuencia máxima para Intel (4ghz en modo turbo).
  • RAM - ella no jugará un papel. Teniendo en cuenta cómo las aplicaciones modernas devoran la memoria, ponga 8GB
  • neto- bueno, en realidad, realmente no se beneficiará de una red de 1 Gb, pero sin embargo, si se estira un par trenzado de 8 hilos (puede mirar en los conectores), entonces tiene sentido poner un conmutador gigabit, al mismo tiempo el tiempo de compartir archivos será más rápido.
    Y el toque final en este escenario es que no necesita colocar la base de datos en algún lugar de una máquina separada: las operaciones de ejecución prolongada se realizarán mucho más rápido localmente que en la red. pon este coche lugar de trabajo, desde donde se planea, por ejemplo, cerrar el mes o actualizar la seguridad de la información.

Otro punto, si la base está en formularios administrados. Aquí, si todo se hace como se describe anteriormente, obtendrá frenos. Sin embargo, hay una salida:

  • SSD* en lugar del tornillo habitual nos salvará. Tome un disco de 120 GB, ya que incluso teniendo en cuenta el crecimiento de la tasa de cambio, son aceptables. Recomiendo prestar atención a la serie Intel 520/530, Kingston v300. Mejor aún, solo lea las reseñas de los últimos modelos, porque. este mercado se está desarrollando con bastante rapidez y nuevos productos están entrando en el mercado
    *Nota: si combinará discos en un RAID con duplicación, por ejemplo, RAID1. En este caso, hay tal momento: la mayoría unidades SSD trim es necesario para limpiar la basura (principalmente para modelos bastante antiguos), en el modo raid, es posible que el comando no sea compatible y la velocidad de la unidad se degradará mientras funciona. Para evitar este problema, puede usar al menos dos métodos: idealmente, compre un SSD de nivel empresarial, por ejemplo, Intel DC3500. Si te parece caro, puedes usar un paquete: placa base con un chipset
  • UPC- Similar al punto anterior. Cuanto mayor sea la frecuencia, mejor.
  • RAM - grande ella no jugará un papel. Teniendo en cuenta cómo las aplicaciones modernas devoran la memoria, ponga 8GB

Si 1 usuario trabaja localmente con la base de datos, esto es suficiente para su trabajo cómodo, pero la velocidad del trabajo en red a través de un recurso compartido seguirá siendo lenta. Pero aquí hay una salida: trabaje a través de un servidor web. En Internet, puede encontrar una gran cantidad de artículos que describen cómo organizar el trabajo con 1C de manera similar, no me detendré en esto en este artículo. Lo único que compartiré con ustedes mis observaciones: es preferible configurar el trabajo para los usuarios no a través de un navegador web, sino a través de un cliente ligero (cuando agregamos una nueva base de datos a la lista IS, hay un elemento "en el servidor web" en la página de colocación de IS). Esto, según mis observaciones, es más rápido que a través del navegador. Además, cuando se trabaja a través de un navegador, hay errores en la interfaz (PM desplazado, etc.), que no están presentes cuando se trabaja a través de un cliente ligero.

En realidad, usando esta receta (ssd, procesador con alta frecuencia, servidor web, cliente ligero). Puede disipar el mito "si el número de usuarios es más de 1 (según alguna versión, más de 0 :)) - necesita una base de servidor *.

*Aunque, por supuesto, con la condición de que no sea un SCP o una base de datos > ~ 4GB de tamaño, pero la cantidad de usuarios no exceda los 4 (estos son los tamaños máximos de base de datos y la cantidad de usuarios que vi, tal vez alguien conoció casos en los que a través de un servidor web con más personas trabajaron con la base de archivos, escriba en los comentarios)

Trabajando con la base de archivos en la terminal

Pasemos a la siguiente opción. Tenemos un servidor terminal y una base de archivos. Aquí todo es similar al escenario 1, excepto por el procesador:

  • unidad SSD en lugar de un tornillo normal.*
    *Nota: asegúrese de ensamblar los discos en un RAID con duplicación, por ejemplo, RAID1. En este caso, existe tal punto: la mayoría de las unidades SSD requieren recorte para limpiar la basura (principalmente para modelos bastante antiguos), en el modo de incursión, es posible que el comando no sea compatible y la unidad se degradará en velocidad mientras funciona. Para evitar este problema, puede usar al menos dos métodos: idealmente, compre un SSD de nivel empresarial, por ejemplo, Intel DC3500. Si esto parece costoso, puede usar un SSD de clase personalizada, pero luego asegúrese de que su capacidad de reescritura sea suficiente para su escenario.
  • UPC- Aquí tiene sentido tomar corei5 en lugar de i3, porque 1C funcionará en el terminal, 2 núcleos adicionales no interferirán, pero no se olvide de la frecuencia.
  • RAM existe una expresión tan estable entre los administradores: nunca hay mucha memoria). De mi práctica, 7 personas, cuando trabajan en BP3, ocupan 8-12 GB en la terminal (depende de cuántos documentos estén abiertos para cada usuario). Para formas ordinarias, la cantidad de memoria se puede dividir por 2 :) Se puede hacer un cálculo aproximado de la siguiente manera: 256 MB para la sesión de terminal en sí + 1.5 GB para 1C

Trabajar con la base de datos del servidor (MSSQL)


Este escenario es el más complejo y, quizás, requiere un artículo aparte. Propongo en este artículo considerar solo los principios básicos que afectan el rendimiento.

  • Colocación de servidor SQL y servidor 1C. En diferentes máquinas o en una. Existe tal punto: si están en la misma máquina, entonces la comunicación entre ellos ocurre a través del protocolo de memoria compartida, y en este caso obtenemos una bonificación en el rendimiento, que no existe cuando están en diferentes máquinas.
  • UPC. Y aquí ya es útil y de alta velocidad de reloj y multinúcleo. Porque tenemos un proceso de servidor SQL, si está en la misma máquina, y varios procesos de servidor rphost 1C que cargarán los núcleos del procesador. Por separado, quiero resaltar los sistemas de doble procesador (es decir, cuando hay dos zócalos en la placa base para y más enchufes). Incluso si toma con un zócalo vacío "en reserva, compre un procesador más tarde, si de repente lo necesita". He visto una gran cantidad de servidores de dos sockets que, hasta el final de su vida útil, permanecieron con un segundo socket vacío. Aunque, si la empresa paga... para que negarte el placer :)
  • RAM. En su trabajo, SQL Server * utiliza activamente la memoria RAM, si no es suficiente, subirá a los discos que, incluso en el caso de ssd, son más lentos que la memoria RAM. Por lo tanto, no vale la pena ahorrar memoria aquí. Presupueste tanto como sea posible (no se olvide, por supuesto, del sentido común :)) y deje ranuras libres en la placa base para que siempre pueda entregar una barra adicional.
    *Nota: no olvide limitar la RAM máxima utilizada por el servidor SQL para que sea suficiente para las sesiones del sistema operativo y la terminal, y también aumente los pasos para aumentar tmp y la base SQL (el paso predeterminado es 1mb, que es muy pequeño, conjunto 200 MB para base y 50 MB para registro)
  • subsistema de disco. Puede parecer que si la cantidad de RAM es mayor que el tamaño de la base, todo estará en la memoria y todo volará. Bien pudo haber sido... antes de la primera operación de escritura :) que escribirá en los discos. Y aquí es donde los discos duros te romperán :) Usa unidades SSD. Y aquí, no ahorre más en SSD que no sean de escritorio, obtenga SSD normales de nivel empresarial. Intel DC3700 -Recurso de 200 GB 3,7 petabytes (10 sobrescrituras del volumen total de la unidad por día durante 5 años), se puede encontrar por 24000r/pieza + segundo para RAID1=48000. La licencia tomará mucho más.

Parece que eso es todo. Si tiene preguntas/quejas/sugerencias, bienvenido en los comentarios;)

1C:Enterprise 8 puede ser una aplicación que consume muchos recursos incluso con una pequeña cantidad de usuarios. Al elegir un servidor para 1C, a cualquier propietario le gustaría evitar "lesiones de nacimiento", posibles cuellos de botella incrustados en él. Por otro lado, hoy en día pocas personas compran servidores con exceso de capacidad, “para crecer”. Es bueno si el perfil de carga se puede eliminar por adelantado; entonces es más fácil diseñar un servidor para una configuración específica de las aplicaciones de la empresa.

Para mayor precisión, consideremos la plataforma "1C:Enterprise 8.2" en sus configuraciones básicas populares "Contabilidad", "Comercio y almacén", "Gestión de nómina y recursos humanos", "Gestión de empresas comerciales" y, en parte, "Gestión de empresas de fabricación". ". Partimos del hecho de que para las empresas con 10 o más empleados que trabajan en 1C, “1C: Empresa 8.2. servidor de aplicaciones". Consideremos la opción de trabajar en el modo Escritorio remoto, con una cantidad de usuarios de base de datos simultáneos de hasta 100-150. Las recomendaciones también se aplicarán a DB 1C más "pesados", pero los "casos graves" siempre requieren un enfoque individual.

Procesadores y RAM

Si la empresa es muy pequeña (2-7 usuarios en el sistema), la base de datos es pequeña (hasta 1 GB) y 1C:Enterprise 8.2 funciona en modo de archivo en la computadora del usuario, entonces obtenemos una implementación clásica de un servidor de archivos . Incluso el Intel Core i3, especialmente el Intel Xeon E3-12xx, puede hacer frente a esa tarea en términos de carga de la CPU. La cantidad de RAM requerida es bastante simple: 2 GB para el sistema operativo y 2 GB para el caché de archivos del sistema.

Si la empresa tiene entre 5 y 25 usuarios de 1C, el tamaño de la base de datos es de hasta 4 GB, entonces la aplicación 1C:Enterprise 8.2 debería tener suficiente Intel Xeon E3-12xx o AMD Opteron 4xxx de 4 núcleos. Además de 2 GB de RAM para el sistema operativo, es necesario asignar de 1 a 4 GB para 1C:Enterprise 8.2. Application Server" y la misma cantidad para MS SQL Server como caché: un total de 8-12 GB de RAM. Para bases de datos pequeñas, es deseable almacenar en caché al menos el 30% de la base de datos en RAM, y preferiblemente todo el 100%.

Hecho conocido (aunque no particularmente publicitado): “1C: Enterprise 8.2. A Application Server no le gusta mucho que el sistema operativo lo descargue en un archivo de intercambio en el disco duro y, en ocasiones, tiende a perder respuesta. Por lo tanto, en el servidor donde se ejecuta el "Servidor de aplicaciones", siempre debe haber espacio libre en la memoria RAM, especialmente porque hoy en día es económico.

En las empresas más grandes, los usuarios de 1C suelen trabajar a través del acceso remoto a la aplicación (Escritorio remoto), es decir, en modo terminal. Como regla, con 10-100 usuarios 1C con una base de datos de 1GB o más, “1C:Enterprise 8.2. Application Server" y la aplicación de usuario "1C:Enterprise 8.2" se ejecutan en el mismo servidor.

Para determinar los recursos de procesador necesarios, se supone que un núcleo físico puede procesar eficientemente no más de 8 subprocesos de usuario; esto se debe a la arquitectura interna de los procesadores. Como muestra la práctica, para tareas de escritorio remoto 1C +, no debe tomar procesadores de servidor de líneas inferiores con bajas frecuencias de núcleos computacionales y una arquitectura truncada. Si hay pocos usuarios (hasta 15-20), bastará con un procesador Intel Xeon E3-12xx de alta frecuencia. Al mismo tiempo, al menos uno de sus núcleos físicos (2 subprocesos) se destinará a las necesidades de SQL Server, uno más (2 subprocesos) - a 1C:Enterprise 8.2. Servidor de aplicaciones", y los 2 núcleos físicos restantes (4 subprocesos), para los usuarios del sistema operativo y de la terminal. Con más de 20 usuarios 1C o más de 4 GB de volúmenes de bases de datos, es hora de cambiar a sistemas de 2 procesadores en Intel Xeon E5-26xx o AMD Opteron 62xx.

El cálculo de la cantidad de RAM requerida es relativamente simple: se deben proporcionar 2 GB al sistema operativo, 2 GB o más - MS SQL Server como caché (al menos el 30% de la base de datos), 1-4 GB - bajo "1C: Enterprise 8.2 . Application Server", el resto de la memoria del servidor debería ser suficiente para las sesiones de terminal. Un usuario de terminal, dependiendo de la configuración, consume en las aplicaciones "Contabilidad", "Comercio y almacén" - 100-120 MB, "Gestión de salarios y personal", "Gestión de la empresa comercial" - 120-160 MB, "Gestión de la Empresa de fabricación" - 180-240 MB. Si el usuario ejecuta además MS Word, MS Excel, MS Outlook en el servidor, se deben asignar otros 100 MB para cada aplicación. Como regla general, el mínimo para un servidor de terminales es de 12 GB de RAM.

Por ejemplo, para un servidor 1C con el paquete de software completo, 50 usuarios de terminales en la configuración de administración de empresas comerciales y una base de datos de 8 GB, la potencia informática de dos procesadores Intel Xeon E5-2650 (8 núcleos, 16 subprocesos, 2,0 GHz) será ser óptimo. RAM necesitará al menos 2 (OS) + 4 (SQL) + 4 (servidor 1C) + 8 (160 "UTP" * 50 usuarios) = 18 GB, y preferiblemente 24-32 GB (6-8 canales DIMM de 4 GB cada uno) .

subsistema de disco

La mayoría de las quejas sobre el funcionamiento lento de los servidores 1C:Enterprise 8 se deben a un malentendido sobre qué tipos de operaciones de E/S se realizan en ellos, sobre qué datos y con qué intensidad. A menudo, el subsistema de disco es la clave para garantizar un rendimiento suficiente del servidor en su conjunto; después de todo, para las bases de datos cargadas, el mayor problema es bloquear tablas cuando muchos usuarios trabajan con ellas al mismo tiempo o durante descargas/cargas/cargas masivas. publicaciones Monitoreo y optimización del subsistema de disco del servidor.

1C tiene 5 flujos de datos para el subsistema de disco con el que trabaja:

  • tablas de bases de datos;
  • archivos de índice;
  • archivos temporales tempDB;
  • archivo de registro SQL;
  • archivo de registro de aplicaciones de usuario 1C.

La estructura de datos en 1C está orientada a objetos, con muchos objetos y relaciones entre ellos. Para trabajar con tablas de datos, la cantidad de operaciones de lectura y escritura que el subsistema de disco puede realizar en un período de tiempo (Operación de entrada y salida por segundo, IOPS) es extremadamente importante. Al mismo tiempo, su capacidad para ofrecer una alta velocidad de transmisión de datos (en MBp/s) es mucho menos importante. Una base muy modesta de 200-300 MB con 3-5 usuarios puede generar hasta 400-600 IOPS en picos. Una base de datos para 10-15 usuarios y un volumen de 400-800 MB es capaz de entregar 1500-2500 IOPS, 40-50 usuarios de una base de datos de 2-4 GB generan 5000-7500 IOPS, y las bases de datos para 80-100 usuarios alcanzan fácilmente 12000- 18000 IOPS.

Por supuesto, la carga promedio en el subsistema de disco puede ser del 10 al 15 % del pico. Solo en realidad, es el rendimiento durante el período de carga máxima lo que es importante: descargas automáticas de datos de otros sistemas, intercambio de datos de un sistema distribuido o una repetición del período.

Las unidades modernas en operaciones de lectura y escritura con acceso aleatorio (lectura / escritura aleatoria) solo hacen frente a tales cargas:

Intel 910 400GB

2400 - 8600 IOPS

Se ve claramente que:

  • el cuello de botella tanto para HDD como para SSD es la escritura;
  • los HDD tradicionales no son competidores de los SSD en términos de velocidad de lectura en IOPS, incluso teóricamente, la diferencia supera los dos órdenes de magnitud;
  • incluso el SSD de escritorio más moderno es de 3 a 40 veces (según la configuración) más rápido que cualquier HDD en términos de velocidad de escritura en IOPS, el SSD de servidor es de 12 a 40 veces más rápido que el HDD;
  • El rendimiento máximo en IOPS lo proporciona PCIe SSD clase Intel 910 o LSI WarpDrive.

Los discos individuales no se utilizan en servidores de bases de datos, solo matrices RAID. Para calcular aún más el rendimiento real del subsistema de disco, debe tener en cuenta los costos ("penalización") por escribir en IOPS, en los que incurre el grupo de discos en RAID:

Si recopila 6 discos en RAID 10, entonces por cada registro de 1 IOPS de datos, se gastarán 2 IOPS de discos físicos, y si está en RAID 6, entonces 6 IOPS de discos. Por lo tanto, al calcular la capacidad de carga de escritura de un grupo de discos, primero debe sumar las IOPS de todos los discos del grupo RAID y luego dividirlas por la "penalización".

Ejemplo 1: 2 HDD SATA 7200 en RAID 1 proporcionarán escritura: (100 IOPS *2) / 2 = 100 IOPS.

Ejemplo 2: 4 SATA 7200 en RAID 5 proporcionarán: (100 IOPS *4) / 4 = 100 IOPS por escritura.

Ejemplo 3: 4 SATA 7200 en RAID 10 proporcionarán: (100 IOPS *4) / 2 = 200 IOPS por escritura.

Los ejemplos 2 y 3 muestran por qué se prefiere RAID 10 para almacenar bases de datos que tienen una distribución típica de lectura/escritura de 68/32.

A partir de estas tres tablas, queda claro por qué el rendimiento de un típico "conjunto de caballeros" 2 HDD SATA 7200 en RAID 1 no es suficiente para un servidor: en picos de carga, la cola de accesos al disco crece, los usuarios esperan una respuesta del sistema, a veces durante muchas horas.

¿Cómo aumentar el rendimiento de escritura del subsistema de disco? Aumente la cantidad de discos en un grupo RAID, cambie a discos con una velocidad de rotación más alta, seleccione un nivel RAID con una menor penalización de escritura. El almacenamiento en caché por un controlador RAID con el modo Write back habilitado ayuda mucho. Los datos no se escriben directamente en los discos (como en el modo Write Through), sino en la memoria caché del controlador, y solo entonces, en modo por lotes y de forma ordenada, en los discos. Dependiendo de las especificaciones de la tarea, el rendimiento de escritura puede incrementarse entre un 30 y un 100 %.

En bases de datos relativamente pequeñas o con poca carga (hasta 20 GB), es adecuada una forma económica de "extraer IOPS": RAID híbrido de SSD / HDD. Más y no necesita una base de datos de sucursal para 3-15 usuarios en una estructura distribuida como una red de cafeterías o estaciones de servicio.

Para bases de datos grandes (200 GB o más) con un largo historial de datos, o para dar servicio a varias bases de datos grandes, el almacenamiento en caché SSD (tecnologías LSI CacheCade 2.0 o Adaptec MaxCache 3.0) puede ser efectivo. De acuerdo con la experiencia de operar dichos sistemas, es en tareas 1C que se pueden usar de manera relativamente económica y sin cambios significativos en la infraestructura de almacenamiento para acelerar las operaciones del disco en un 20-50%.

El campeón en términos de rendimiento en IOPS son, como era de esperar, las matrices RAID en SSD de servidor, tanto tradicionales, con un controlador RAID SAS, como SSD PCIe. Su popularidad se ve frenada por dos limitaciones: la tecnológica (el rendimiento de los controladores RAID o la necesidad de romper radicalmente la estructura de almacenamiento) y el precio de venta.

Por separado, se debe decir sobre el almacenamiento de archivos de índice y TempDB. Los archivos de índice se actualizan muy rara vez (generalmente una vez al día), pero se leen muy, muy a menudo (IOPS). ¡Dichos datos simplemente deben almacenarse en un SSD, con sus tasas de lectura! La TempDB utilizada para almacenar datos temporales suele ser de tamaño pequeño (1-4-12 GB), pero exige mucha velocidad de escritura. Los archivos indexados y temporales tienen en común que su pérdida no conlleva la pérdida de datos reales. Esto significa que se pueden colocar en un SSD separado (aún mejor, en dos volúmenes separados). Al menos en el controlador SATA integrado de la placa base. Desde el punto de vista de la confiabilidad y el rendimiento, en TempDB es deseable proporcionar un espejo (RAID1) desde el SSD, es posible en el controlador integrado, pero con el cierre obligatorio de todos los cachés de escritura. Los SSD de escritorio también pueden hacer frente a esta función, como la serie Intel 520, donde la compresión de datos de hardware al escribir en TempDB será la correcta. La eliminación de estas tareas de un sistema de almacenamiento compartido a un subsistema dedicado de alta velocidad tiene un efecto positivo en el rendimiento del sistema en su conjunto, especialmente en momentos de picos de carga.

En los casos en que es posible asegurar la respuesta más rápida posible de los administradores en caso de fallas, y cuando hay tareas computacionales complejas (almacén o logística de transporte, producción en el SCP, intercambios de volumen en la URDB), TempDB se transfiere a RAMDrive. Esta solución le permite ganar a veces hasta un 4-12% del rendimiento general del sistema. Surgen algunos inconvenientes solo si se reinicia el servidor: si RAMDrive no se inicia automáticamente, se requerirá la intervención del administrador para iniciar manualmente; de ​​lo contrario, todo el sistema se volverá.

Otro componente importante son los archivos de registro. Tienen una característica desagradable para cualquier subsistema de disco: generan un flujo casi constante de pequeños accesos de escritura. Esto es imperceptible con cargas medias, pero degrada en gran medida el rendimiento del servidor 1C con cargas máximas. Tiene sentido mover el archivo de registro (en particular, el archivo de registro de SQL) a un volumen físico separado que no tenga requisitos altos de IOPS y se escribirá casi linealmente. Para su tranquilidad, puede crear un espejo desde SATA / NL SAS económico y voluminoso (para registro completo) o SSD de escritorio económicos de la misma serie Intel 520 (registro simple o registro completo, con su copia de seguridad y limpieza diarias).

En general, podemos decir que la llegada de los SSD a los servidores ha abierto nuevas oportunidades para aumentar el rendimiento de los servidores masivos, debido al almacenamiento de datos en niveles y la configuración razonable de E/S del disco.

El subsistema de disco del "servidor ideal bajo 1C" se ve así:

1. Las tablas de la base de datos se alojan en RAID 10 (o RAID 1 para bases de datos pequeñas) de SSD de servidor confiable con un controlador RAID de hardware obligatorio. Para requisitos altos de IOPS, considere una opción de SSD PCIe. Para bases de datos grandes, el almacenamiento en caché SSD de matrices HDD es efectivo. Si la estructura de datos y la configuración 1C utilizada no exigen demasiado IOPS y la cantidad de usuarios es pequeña, bastará con una matriz tradicional de HDD SAS de 15 000 rpm.

2. Los archivos de índice se mueven a un solo SSD rápido y económico, TempDB, a 1-2 (RAID 1) SSD o RAMDrive.

3. Un volumen dedicado (disco físico único o RAID-1) en una HDD SATA/NL SAS o SSD de bajo costo, o un disco lógico en una matriz RAID que contiene el sistema operativo del servidor y los archivos/carpetas del usuario.

4. El sistema operativo y los datos del usuario se almacenan en RAID 1 de HDD o SSD.

Si la infraestructura de TI está virtualizada, es muy deseable que SQL Server no se instale como una máquina virtual, sino directamente en un servidor físico, en hardware completo. El precio de la emisión es del 15 al 35% del rendimiento del subsistema de disco (dependiendo del hardware, controladores, herramientas de virtualización y métodos de conexión de volumen). En un entorno de servidor SQL virtualizado, la conexión de volúmenes con tablas de base de datos, archivos de índice y TempDB a una VM es obligatoria en modo exclusivo a través de Direct Access.

Interfaces de red

Al construir sistemas 1C:Enterprise 8 para pequeñas y medianas empresas (hasta 100-150 usuarios activos al mismo tiempo), se deben minimizar las pérdidas en las operaciones de red a través de la interfaz Ethernet. Idealmente, sirva SQL Server y "1C: Enterprise 8 Application Server x64" y sesiones de usuario 1C en Remote Desktop con un servidor físico. Controvertida en términos de tolerancia a fallas, esta recomendación le permite aprovechar al máximo el hardware y el software y, mediante el uso de la virtualización, brinda cierto nivel de seguridad y "repetibilidad del entorno" en otros equipos.

¿Por qué excluir Ethernet del servidor SQL de la cadena -> 1C: servidor de aplicaciones Enterprise 8 -> 1C: sesión de usuario Enterprise 8? La interfaz de red Ethernet, con su empaquetamiento de datos en bloques relativamente pequeños para la transmisión, siempre creará retrasos adicionales: tanto al empaquetar/desempaquetar el tráfico como durante la transmisión misma (alta latencia). En 1C:Enterprise 8, se transfieren conjuntos de datos bastante grandes para su procesamiento y visualización a lo largo de toda la cadena, en algunas situaciones, en ambas direcciones. Al transferir datos directamente de un proceso a otro dentro de la RAM del servidor (en el mismo servidor sin virtualización), o a través de una interfaz de red virtual (dentro del mismo servidor físico, con buenos adaptadores de red de servidor con la transferencia de bloques de RAM entre VM) retrasos son mucho más bajos. Los servidores modernos de dos procesadores con gran RAM y un subsistema de disco en SSD le permiten servir cómodamente una base de datos 1C para 100-150 usuarios activos.

Si el uso de varios hosts físicos es inevitable para las bases de datos cargadas, es conveniente conectar todos los servidores a través de Ethernet de 10 Gb. O al menos 2-4 conexiones Ethernet de 1 Gb agregadas con aceleración de hardware TCP/IP (descarga TCP/IP) y soporte de virtualización de hardware.

Sobre todo, las soluciones económicas sufren pérdidas de rendimiento en los puertos Ethernet. No es ningún secreto que los adaptadores de red de 1 Gb, soldados en la mayoría de las placas base de servidor, no están diseñados para manejar un tráfico de red pesado. Incluso si la placa tiene puertos de 2 o 3 GbE, generalmente se implementan en chips de escritorio. Suficientes para la administración, generan costos generales adicionales para dar servicio a los intercambios de red, especialmente en un entorno virtualizado. Todo el proceso de transferencia de datos a través de dicho chip lo proporcionan los recursos del procesador, la RAM y la carga en los buses internos. Dichos chips no proporcionan ninguna aceleración de la transmisión de tráfico IP, cada paquete Ethernet recibido y transmitido requiere una interrupción separada para el procesador. En un entorno virtualizado, las pérdidas de rendimiento de la interfaz de red pueden llegar al 25-30 %. Lo más desagradable es que es la interfaz de red la que está sobrecargada de herramientas de monitoreo y es posible que no se note. El procesador central está destrozado por ello, y si no funciona, entonces está inactivo esperando una respuesta de la tarjeta de red. Es deseable excluir puertos en chips de escritorio del flujo de datos en entornos virtualizados, dejándolos para las tareas de administración del servidor. Bajo un tráfico de red intenso, vale la pena agregar una tarjeta de red discreta en el conjunto de chips del servidor.

¿Tolerancia a fallas o tiempo de inactividad aceptable?

Las discusiones sobre el rendimiento del servidor casi siempre van acompañadas de argumentos sobre la confiabilidad del servidor. La tolerancia a fallas siempre tiene un costo adicional, especialmente cuando se respaldan procesos de producción continuos. Sin menospreciar el papel y el lugar de 1C, podemos decir que la mayoría de sus usuarios resuelven el dilema "rendimiento / confiabilidad" en diferentes planos: luchan por el primero con la optimización de las soluciones de hardware, por el segundo, con la organización de procesos y procedimientos. Cuando las aplicaciones son moderadamente críticas, el enfoque para mantener la salud no está en la protección del servidor individual, sino en minimizar el tiempo de inactividad de la infraestructura en su conjunto.

Por supuesto, para las empresas con una cantidad relativamente grande de usuarios conectados simultáneamente (25-150) y que alojan todas las aplicaciones en un solo servidor, es imperativo utilizar fuentes de alimentación ininterrumpida, fuentes de alimentación redundantes para los propios servidores, cestas de discos intercambiables en caliente. y matrices RAID de reserva activa. Pero ningún hardware puede reemplazar la copia de seguridad planificada de los datos en sí. Con una copia de seguridad diaria (más precisamente, nocturna) y un archivo en línea con un registro SQL completo, puede restaurar completamente la base de datos 1C en un período relativamente corto.

El tiempo de inactividad permitido del sistema central 1C para pequeñas y medianas empresas es de 1 a 2 accidentes por mes, con una duración de 1 a 4 horas. De hecho, este es un gran margen de tiempo, si está listo para la recuperación de antemano. Una condición necesaria para un reinicio rápido es la disponibilidad de imágenes de todos los servidores virtuales y físicos en forma de una VM en un volumen/almacenamiento separado, para restaurar la parte de la infraestructura en un servidor de respaldo. Backup diario obligatorio (así como semanal y al final del período) a otro dispositivo físico y registro Full SQL para los casos en que la pérdida de datos "desde el comienzo de la jornada laboral" sea crítica y difícil de recuperar manualmente. Si tiene equipo de reemplazo, puede mantenerlo dentro de 1 a 2 horas para restaurar la capacidad de trabajo en general, aunque con una productividad más baja. Pues bien, donde se requiera continuidad 24×7, las prioridades serán la elección de la arquitectura adecuada, equipos con un número mínimo de puntos de falla y tecnologías de clustering completas. Pero esa es una historia completamente diferente.

Artículo original: http://ko.com.ua/proektirovanie_servera_pod_1s_66779

Con el permiso del editor de la revista "Computer Review"

Para asegurar la efectividad de los programas ejecutados en la plataforma Enterprise 8, es necesario no solo comprar 1C, sino también para elegir la solución de servidor adecuada.

Actualmente implementación de 1C 8 realizado en varias versiones. La solución más popular es un servidor de archivos dedicado. Esta opción incluye una PC dedicada o un servidor pequeño, un sistema operativo de servidor instalado, así como la configuración de acceso compartido a una carpeta con 1C: Enterprise. Esta opción es bastante simple y asequible, pero no puede proporcionar un alto rendimiento y confiabilidad.

Si una organización necesita garantizar la confiabilidad y el alto rendimiento, entonces, por regla general, elige implementación de 1C 8 utilizando un SGBD industrial - Microsoft SQL Server. En este caso, se utiliza Windows Server 2003 como sistema operativo y el hardware debe cumplir requisitos elevados.

Esta solución es más costosa, pero tiene sus propias ventajas, como un alto rendimiento y tolerancia a fallas. El sistema también permite una copia de seguridad eficiente, proporciona un alto nivel de protección de datos y elimina la indexación obligatoria en caso de fallas.

Para que el sistema funcione correctamente, debe ser implementado por un programador 1C. porque los inexpertos programador 1C puede anular todas las ventajas: un gran volumen de base de datos con una configuración de servidor de baja calidad reduce significativamente el rendimiento del producto 1C.

También vale la pena señalar que esta opción de implementación de escritorio requiere licencias de cliente para conectarse a Windows Server 2003/2008. En caso de cargas altas en la base de datos 1C, el rendimiento de Windows SBS 2003/2008 puede ser insuficiente. En este caso, es posible asignar un servidor adicional, Microsoft SQL Server 2005/2007.

Otro método que se usa a menudo cuando se implementa 1C es un servidor de terminal. El Servicio de conexión de terminal integrado en Windows Server 2003 le permite obtener una gran reserva de rendimiento, la capacidad de trabajar de forma segura y completa, así como un alto nivel de protección.

Lista de software para la implementación de programas 1C: Enterprise.

Como regla general, el siguiente software se utiliza para implementar programas en el 1C: Plataforma empresarial: Windows 7, Vista, XP Professional, Windows Server 2003-2008, Windows Small business server.

Windows XP Professional ha sido durante mucho tiempo la versión base del sistema operativo y está instalado en muchas organizaciones. Windows 7 es un sistema operativo bastante nuevo para computadoras personales que proporciona un alto rendimiento a través de la integración de redes, tecnologías y sistemas. Las computadoras equipadas con los sistemas operativos Windows Vista, XP Professional y 7 se pueden usar como servidores de nivel de entrada. Estos sistemas operativos admiten hasta 10 conexiones, pero la velocidad y la seguridad dejan mucho que desear.

Windows Server 2003 o 2008 son los sistemas operativos de servidor más populares que le permiten implementar soluciones 1C:Enterprise , garantizar la fiabilidad y la facilidad de mantenimiento.

Windows Small Business Server 2008 es un producto de software que consta de un paquete completo de productos de servidor y componentes adicionales. Esta opción es adecuada para pequeñas empresas que no planean cargas importantes en la base de información de 1C Enterprise. La principal ventaja de Windows SBS 2008 es su bajo precio.

entonces antes comprar 1C, debe considerar a qué carga estará sujeta la base de datos y, de acuerdo con esto, seleccionar el tipo de servidor.

El lanzamiento fue preparado por la tienda de software con licencia 1cmarket.ru


Comentarios y reseñas

Fuentes de la red han revelado las características detalladas del smartphone Black Shark 2 Pro, que será oficialmente...

HTC ha ampliado su gama de smartphones económicos con el modelo Wildfire E, que tiene un precio de 9.000 rublos...

LG ha anunciado que sus televisores admitirán las tecnologías Apple AirPlay 2 y HomeKit. por s...

La empresa Phanteks presentó el día anterior una solución única para ensamblar una CBO personalizada. Nuevo Glacier D140 con...