256 o 512 MB para un servidor web

12

Estoy planeando comprar una Raspberry Pi, un colega mío tiene 256 MB restantes. Pero no sé si 256 MB de memoria pueden llenar las cosas que quiero ejecutar.

Quiero ejecutar un servidor web Apache (o algún otro servidor web que use menos RAM y CPU) con PHP y MySQL, un servidor FTP y un proxy SOCKS 5. En el servidor web voy a ejecutar:

  • un foro de Vbulletin con 8 usuarios
  • Un juego que estoy desarrollando en este momento.

Cuando el juego esté listo, podría mover el foro o el juego a otra frambuesa cuando sea demasiado pesado. Mantengo el juego lo más pequeño y rápido posible. Por ejemplo: voy a procesar todos los trabajos de actualización con C ++. Pero cuando el juego es lo suficientemente grande como para ganar dinero con él, quiero comprar un servidor normal si eso mejora el rendimiento. Pero quiero experimentar con el Pi por un tiempo.

Entonces mi pregunta es: ¿debería comprar un nuevo modelo B pi de 512 MB, o simplemente comprar la versión b de 256 MB del colega mío?

Laurence
fuente

Respuestas:

12

No hay una respuesta definitiva para eso porque realmente depende de cuánto rendimiento necesita, cuán complicada sería su aplicación, etc.

Siempre es mejor tener más memoria, solo para estar seguro. Recuerde que nunca obtendrá 256 MB de RAM completa en Linux, lo mejor que puede obtener es 240 MB, ya que el resto se asignará a la GPU (y realmente debería usar esta división en su carga de trabajo). 240 MB no es mucho, pero por otro lado, hay muchos proveedores de servicios VPS que proporcionan VPS (que son servidores privados virtualizados) con 256 MB de RAM y la gente ejecuta sitios bastante grandes en estas máquinas, por lo que definitivamente es posible.

Puede establecer un límite de memoria disponible para el sitio PHP y en muchos servicios de alojamiento compartido se establece en 8-16MB por sitio. Y muchas aplicaciones pueden ejecutarse bastante felices con eso. MySQL tiene muchas opciones de configuración que pueden usarse para limitar su uso de memoria y puede ejecutarlo fácilmente con 64 MB (o incluso menos) de memoria. El servidor web Apache tampoco tiene mucha memoria y existen alternativas aún más ligeras. Podemos omitir los servidores FTP y SOCKS, ya que ocupan una cantidad muy pequeña de memoria (al menos cuando solo la usan un par de usuarios).

Entonces la base de datos es el mayor problema aquí. Recuerde que cuanto más memoria tenga el servidor de bases de datos, mejor rendimiento obtendrá (lo usa principalmente para cachés para proteger E / S de disco). En sitios con mucho tráfico, el servidor de bases de datos tiene suficiente memoria para mantener (casi) toda la base de datos en la memoria. Probablemente no va a necesitar ese buen desempeño. RaspberryPi no tiene un almacenamiento demasiado rápido (es como 5-10 veces más lento que en computadoras completas incluso sin RAID), por lo que su rendimiento será realmente lento cuando llegue al almacenamiento. Continuar con los VPS ya mencionados: tienen soluciones de almacenamiento mucho más rápidas en la mayoría de los casos, pero también comparten este almacenamiento con muchos otros VPS (a menudo 16 o incluso 32), por lo que a menudo no es mejor que el de RaspberryPi. Y de nuevo, muchos sitios funcionan felizmente en esos servidores.

En resumen, debe estar perfectamente bien con 256 MB de RAM, pero tendrá que ajustar algunas opciones de configuración para reducir el uso de memoria. Debería ser fácil encontrar algunos tutoriales sobre eso en Internet, especialmente cuando se buscan artículos sobre la optimización del servidor para el uso de VPS, etc. Si no planea usar algo que necesite más memoria en el futuro y pueda ahorrar algo de dinero comprando Versión de 256 MB de RaspberryPi, puede valer la pena. Y puede aprender algunas habilidades interesantes como diseñar su aplicación para que use menos memoria o configurar su sistema para que necesite menos memoria. Esas habilidades pueden pagar en el futuro.

Krzysztof Adamski
fuente
Gracias por la buena respuesta. De hecho, es una muy buena manera de aprender a desarrollar buenas aplicaciones. Muchas gracias. Voy a conseguir el 256. Encontré muchos tutoriales para hacer esto: squidoo.com/optimizing-mysql-for-vps-dedicated-server wiki.vpslink.com/Low_memory_MySQL_/_Apache_configurations supportcenter.verio.com/KB/questions.php?questionid=267 serverfault .com / preguntas / 29126 /… my.opera.com/floweringmind/blog/…
Laurence
1
@ Laurence: Sé que es algo obvio, pero recuerda que también es bueno saber por qué tienes que cambiar algunos valores y qué hacen si realmente quieres aprender algo útil. Algunos de los valores se copian y pegan desde otros sitios sin pensar mucho y pueden no ser óptimos para usted.
Krzysztof Adamski
Le digo a @Laurence que, desarrollar en sistemas con recursos limitados, puede ser una buena práctica. Solía ​​escribir software en plataformas con 64kB disponibles para aplicaciones y 64kB para datos. Te sorprendería lo que la gente podría hacer con eso. Incluso el predecesor del software de navegación TomTom fue escrito dentro de estos límites. Hoy en día los desarrolladores tienden a ser flojos, con grandes huellas dactilares como resultado. Yo elegiría el modelo de 256 MB solo como una cuestión de límites forzados.
EDP