Tengo MongoDb ejecutándose en una aplicación NodeJS usando Monk en una Raspberry Pi 2 con raspbian.
Si bien se comporta correctamente, el acceso a la base de datos es sorprendentemente lento.
Tengo aproximadamente 1,7 millones de documentos en una tabla. Llamo valores simples (último registro según una marca de tiempo) y poco más complejos (agregan 30 valores). La aplicación escribe 2 entradas nuevas por segundo (permanentemente, es una especie de registro). El cliente pide algunos valores, 1-3 por segundo.
El muy simple toma aproximadamente 8 segundos, el poco más complejo 20 segundos. No cambia con el tiempo. CPU está bajo carga, 30 a 75% permanentemente, atiendo solo a un (1) cliente vía WiFi.
Cuando regresan los resultados, los valores son correctos.
Información de versión:
Pregunta:
¿Se sabe que es tan lento en Raspberry 2 con> 1 millón de registros y 2-4 solicitudes por segundo? ¿O hay algo que pueda hacer?
La aplicación es completamente ingenua, muy directa.
Cuando observa el rendimiento en una Raspberry PI, debe tener en cuenta dos limitaciones importantes:
Dijo que no podemos hacer un análisis más preciso sin los detalles de la base de datos, la consulta y el programa. Lo que puede hacer es usar "superior" o cualquier comando similar para mostrar el uso de RAM, la carga de la CPU y el IO del disco.