He estado investigando el rendimiento general hoy y me sorprendió gratamente ver que la nueva versión de Ruby (2.6.1) reduce tanto el uso de memoria como acelera Discourse.
En particular, al observar Discourse bench:
¡El RSS se reduce de 293332 a 262140 bytes!
Tiempo medio de solicitud
| ruta | 2.5.3 (ms) | 2.6.1 (ms) | cambio |
|---|---|---|---|
| categories | 41 | 39 | 4.88% |
| home | 46 | 43 | 6.52% |
| topic | 54 | 48 | 11.11% |
| categories_admin | 70 | 65 | 7.14% |
| home_admin | 72 | 67 | 6.94% |
| topic_admin | 82 | 77 | 6.10% |
Percentil 75
| ruta | 2.5.3 | 2.6.1 | cambio |
|---|---|---|---|
| categories | 42 | 41 | 2.38% |
| home | 50 | 46 | 8.00% |
| topic | 59 | 51 | 13.56% |
| categories_admin | 75 | 76 | -1.33% |
| home_admin | 78 | 77 | 1.28% |
| topic_admin | 85 | 83 | 2.35% |
Percentil 90
| ruta | 2.5.3 | 2.6.1 | cambio |
|---|---|---|---|
| categories | 49 | 52 | -6.12% |
| home | 56 | 56 | 0.00% |
| topic | 62 | 61 | 1.61% |
| categories_admin | 82 | 81 | 1.22% |
| home_admin | 84 | 82 | 2.38% |
| topic_admin | 93 | 92 | 1.08% |
Percentil 99
| ruta | 2.5.3 | 2.6.1 | cambio |
|---|---|---|---|
| categories | 58 | 81 | -39.66% |
| home | 81 | 108 | -33.33% |
| topic | 76 | 88 | -15.79% |
| categories_admin | 105 | 132 | -25.71% |
| home_admin | 115 | 132 | -14.78% |
| topic_admin | 123 | 142 | -15.45% |
Nos tomará un poco de tiempo antes de actualizar a 2.6.1; probablemente cambiaremos en 2-3 meses. También necesitamos validar estos resultados en rubybench.org. Dicho esto, estos resultados iniciales son increíblemente prometedores.
Generalmente esperamos una mejora del 7%, sin embargo, nuestras 1 de cada 100 solicitudes sufrirán una ralentización del 15-40%. Mi interpretación de los resultados es que el tiempo de ejecución se ha vuelto más rápido, pero el tiempo de recolección de basura (GC) mayor se ha vuelto un poco más lento.