¿Qué servidores son los mejores para diferentes propósitos?

Sin entrar demasiado específicamente en diferentes marcas o construir su propio hardware, hay algunos principios generales a seguir si tiene que equilibrar el costo con el rendimiento.

Hay aproximadamente 4 categorías en las que buscaría tomar decisiones de hardware: CPU, GPU, RAM y almacenamiento. Soy consciente de que se trata de una simplificación excesiva, y existen límites en cuanto a cuánto puede mejorar el rendimiento general del servidor al mejorar una categoría en particular. Pero aquí hay algunas pautas aproximadas:

Almacenamiento: si el servidor es el front-end de una aplicación web, es probable que necesite un almacenamiento mínimo. Por otro lado, si este es el servidor de archivos principal para una oficina de más de 50 personas, el almacenamiento importa MUCHO. No solo cuánto, sino de qué tipo (SSD frente a tradicional, con la tradicional clasificada en función de las RPM del disco, el tamaño del plato, etc.) ¿Importa la disponibilidad y la redundancia de datos? Entonces está buscando implementar RAID de hardware, pero esto también viene con compensaciones de rendimiento, ya que cuanto más redundante y estable sea la matriz de almacenamiento, más lenta será.

RAM: o, ¿cuántas cosas quieres hacer al mismo tiempo? ¿Tiene alguna base de datos que necesita para ser de alto rendimiento, con muchas lecturas y escrituras? Un servidor con más de 100 GB de RAM puede manejar eso por usted; en realidad, puede mantener la base de datos en la memoria para obtener el máximo rendimiento (Twitter lo hace).

CPU: ¿ejecuta aplicaciones complejas y multiproceso? No escatime en núcleos de CPU. Nunca use menos de 2. De esa manera, si un proceso no autorizado fija 1 núcleo de CPU al 100%, todavía hay otro núcleo disponible para que pueda iniciar sesión y eliminar el proceso incorrecto sin reiniciar la máquina. Una vez más, la CPU es algo así como la RAM, en el sentido de que cuanto más desee hacer a la vez, más núcleos de CPU debería tener, especialmente en los hipervisores de máquinas virtuales. La velocidad del reloj ya no importa tanto como solía hacerlo: nos estamos acercando a los límites de rendimiento de los materiales y circuitos de chips tradicionales.

GPU: aparte de los casos obvios como el procesamiento de video, este es el único caso con el que no estoy tan familiarizado. Sé que puedes usar una GPU para procesar tareas similares a una CPU, pero más allá de eso, nunca he necesitado hacer mucho al respecto, así que no lo he investigado.

Debido a que hay una gran cantidad de casos de uso para servidores, también hay un número igualmente amplio de configuraciones, cada una de las cuales proporcionará un rendimiento óptimo para un escenario particular. Además de eso, la forma en que los servidores interactúan con otros servidores en su entorno puede tener el mismo impacto en el rendimiento que las especificaciones técnicas, si no más.