framework documentacion clean cache borrar and django redis server memcached linode

django - documentacion - Servidor separado para Memcache/Redis?



install memcached django (2)

No creo que entiendas que nadie sea un adivino. Nadie sabe cuántas solicitudes recibirá por segundo, ni cómo la CPU / memoria intensiva será cada solicitud. Nadie sabe qué tan optimizado es tu código. Nadie sabe si su aplicación es pesada o pesada. Su caso de uso es suyo, y probablemente sea el único que lo calcule.

Mi único consejo real para usted es tratar de estimar los datos de su servidor y cortar la carga y comparar su configuración en una máquina. Si no está satisfecho con el rendimiento, amplíe. Puede escalar verticalmente, aumentando el tamaño de su linode o escalar horizontalmente agregando más instancias de linode. En este último caso, lo más probable es que ponga su DB en una máquina propia y tenga múltiples instancias de django alimentadas por un equilibrador de carga. Estas instancias de Django pueden compartir el mismo Memcache en una máquina, o cada una puede tener sus propios memcaches en su propia máquina. ¿Cuál es mejor? No puedo decírtelo Depende de nuevo de tu caso de uso.

Si yo fuera tú, lo configuraría todo en una instancia de linode. Crearía datos de prueba que supongo que estarían cerca del mundo real. Luego intentaría probar mis tiempos de respuesta con un número estimado de solicitudes por segundo. Mediría los tiempos de respuesta, los hits de caché y el uso de memoria. Entonces decidiría basándome en eso si mi caso de uso está satisfecho con este nivel de rendimiento o no, porque soy el único que sabrá cuál es el rendimiento satisfactorio. Además, agregar más recursos de linode no es necesariamente el lugar donde probaría primero y mejorar el rendimiento.

Se pueden encontrar algunos consejos excelentes sobre optimización y evaluación comparativa aquí: https://docs.djangoproject.com/en/1.8/topics/performance/ http://blog.disqus.com/post/62187806135/scaling-django-to- 8 mil millones de páginas vistas http://scottbarnham.com/blog/2008/04/28/django-performance-testing-a-real-world-example/

Puede encontrar la lectura tardía sobre el aumento de Django en muchos libros, me gusta este: https://highperformancedjango.com/

Lo siento si sueno un poco contundente, solo quiero que entiendas que nadie puede entrar aquí y darte una respuesta con un alto grado de confianza. Esta pregunta no tiene una respuesta directa.

TL; DR Comience con una instancia y amplíe solo si se ha convencido de que necesita hacerlo.

Estoy usando Django para mi proyecto y lo estaré alojando en Linode o en cualquier otro servicio de alojamiento. Además, si quiero usar Memcache, ¿necesitaré un nuevo Linode para ello? Significa que solo un servidor estará bien o tendré que alojar mi sitio en 2 servidores, uno para Memcache y otro para Django. ¿Y es lo mismo para Redis? ¿También requeriré un servidor separado para Mysql?


Dice Memcached o Redis, así que supongo que Redis se implementará sin persistencia, con una configuración puramente en memoria.

En tal caso, es poco probable que tanto Memcached como Redis se saturen incluso si los ejecuta en un solo servidor, ya que es más probable que el factor limitante sea una única instancia de Django si sus solicitudes / segundo se vuelven altas.

Sin embargo, debe asegurarse de tener suficiente memoria y configurar un uso de memoria máximo apropiado para Memcached / Redis (diferentes formas de lograr esto en los dos servicios diferentes). Tenga en cuenta que bajo presión de memoria, el asesino de OOM de Linux puede matar su caché, de modo que si busca una sola instancia, que me parece un primer paso sensato, asegúrese de que su uso de memoria Django más la memoria que asigna para el almacenamiento en caché no suficiente para acercarse a los límites de la memoria libre de instancia.

La CPU difícilmente va a ser un problema, como dije, ya que Memcached / Redis son bastante buenos para usar poca CPU, por lo que no puedo prever una configuración donde Django está bien para las páginas, pero la instancia tiene problemas ya que la CPU se quema cache.