El servidor de producción al que se envía mi trabajo funciona significativamente peor que mi entorno de desarrollo local, donde todo funciona rápido y sin problemas, por lo que no puedo determinar si algún cambio que realice puede o no tener un mal rendimiento en producción.
En ese servidor, las respuestas toman mucho tiempo, supongo que principalmente debido a las consultas de la base de datos, en lugar de la potencia de procesamiento y la capacidad de memoria del servidor.
Me pregunto si hay alguna forma de establecer una configuración de servidor para emular estas malas condiciones: ¿cómo puedo reducir la potencia de mi servidor Django local para que las respuestas tomen más tiempo, la potencia de procesamiento sea baja y, lo más importante, la conexión a la base de datos sea lenta?
Espero que esto no sea una pregunta descabellada, pero es algo que realmente necesito para averiguar cómo se comportará mi código en producción, ya que no tengo forma de saberlo desde mi entorno local.
Como sugieren algunos comentarios anteriores, podría ralentizar el servidor de desarrollo haciendo lo que sugiere esta respuesta .
Si sospecha de la base de datos, puede cambiar los métodos de QuerySet en db/models/query.py en el código django y agregar algo como esto:
from time import sleep sleep(0.5) # this is seconds, not milliseconds ;)pero todo esto son conjeturas.
Puede configurar algo como opbeat en su código para obtener información de producción real sobre su código, para que pueda determinar cuál es realmente el problema (¡y acelerar la producción en lugar de ralentizar el desarrollo!).
Para su entorno de desarrollo local, también puede probar django-silk para tener una idea de cuántas consultas ejecuta su código.