Rendimiento
Las características de rendimiento de un sitio Fenómenus y las prácticas que sigue el propio producto.
Dónde está el coste
| Operación | Perfil de coste |
|---|---|
| Representación de un archivo de menús | Una consulta de términos más una consulta de elementos por cada término representado |
| Navegación por categorías | Una consulta ordenada de términos, más una comprobación de términos con entradas |
| Importación masiva | Una búsqueda de títulos para el lote y, después, una escritura por fila |
| Exportación a Excel | Una consulta sin límites sobre el tipo de menú |
| Generación de PDF | Una consulta por categoría, más la resolución de imágenes por elemento |
| Generación de QR | Resolución de URL por cada destino e idioma seleccionados |
Las dos operaciones sin límites —exportación y PDF— son administrativas e intencionadas.
Consultas ordenadas de términos
Todos los listados ordenados se ordenan por el metadato de término tax_position. El código personalizado que reproduce el orden del menú ejecuta la misma forma de consulta y se beneficia de la misma caché que cualquier otra consulta de términos.
Consultas de elementos
Los elementos se ordenan por menu_order. La representación del archivo pagina los resultados, y los diseños de carrusel cargan lotes adicionales de forma progresiva en lugar de representar un menú completo de una vez.
Las consultas personalizadas que obtienen un tipo de menú completo con posts_per_page => -1 son aceptables en herramientas administrativas y desaconsejables en la parte pública.
Cachés estáticas
Varios asistentes resuelven ajustes una vez por solicitud y reutilizan el resultado: los tipos de contenido configurados del tema, las taxonomías configuradas y las búsquedas de etiquetas derivadas. Llámalos libremente; no repiten el trabajo.
Trabajo masivo
Los guardados masivos difieren el recuento de términos, suspenden la invalidación de la caché, omiten los efectos secundarios de la pantalla de edición, resuelven cada título en una única búsqueda precargada y actualizan el orden con una única escritura dirigida por fila. La caché de página se purga una vez al final, en lugar de una vez por fila.
La orientación práctica para herramientas personalizadas es la misma y está documentada en Bulk operation cache strategy.
Caché de páginas
Un archivo de Fenómenus es una página pública y se almacena bien en caché, con dos consideraciones:
El filtro de alérgenos es un parámetro de consulta. Un archivo filtrado es una URL distinta, y una caché debe tratar el parámetro como parte de la clave en lugar de servir una respuesta filtrada a una solicitud sin filtrar.
Las preferencias del invitado son del lado del cliente. La selección de alérgenos, el interruptor de visibilidad de iconos y la colección de favoritos viven en el navegador del invitado, por lo que no fragmentan la caché del lado del servidor.
Imágenes
Las imágenes son el peso dominante de un diseño basado en fotografías. El producto no las redimensiona ni las convierte.
- Súbelas al tamaño al que pretendes publicarlas.
- Mantén una relación de aspecto coherente para que los diseños no se reorganice el flujo.
- Para los PDF, elige deliberadamente el tamaño de imagen cargado: demasiado pequeño se imprime borroso; demasiado grande produce un archivo pesado.
Qué no escala en silencio
- Diseños basados en fotografías en menús largos. Una cuadrícula masonry de doscientos elementos fotografiados es una página grande.
- Una única exportación a Excel de un menú muy grande. Es una consulta sin límites y un único archivo.
- Un PDF de una carta de vinos grande completa. Considera imprimir una selección.
- Importaciones individuales muy grandes. Importa por lotes por categoría, que es además la unidad revisable.
Multisitio
Los menús, los ajustes, las bibliotecas de alérgenos y los perfiles de usuario se limitan a cada sitio. Nada se comparte entre los restaurantes de una red, y una purga provocada por el guardado masivo de un sitio se aplica a ese sitio.
Medir
Al investigar un menú lento, separa las capas:
- La generación de la página sin caché en el origen.
- La respuesta almacenada en caché.
- El borde, si hay una CDN presente.
- El peso de las imágenes, medido por separado del HTML.
Un menú en caché que es rápido no te dice nada sobre la primera solicitud, que es lo que recibe un invitado después de cualquier cambio de contenido.