Apache Solr maneja cientos de miles de solicitudes

Tenemos una pequeña aplicación de búsqueda en contexto local. Para los servicios de respaldo, estamos usando Apache Solr 6.6.2 para el índice y el almacenamiento de datos. El front-end está en PHP con el servidor web Apache2.

Tenemos un servidor de 48 núcleos y 96 GB de RAM donde se instalan estos servicios. El tamaño esperado de los documentos en el índice es de aproximadamente 200 millones y cada documento puede tener un máximo de 20 campos. La mayoría de los campos están indexados y almacenados.

Las solicitudes simultáneas esperadas pueden ser cientos de miles a la vez. Entonces, ¿cuál será la mejor configuración de Apache Solr para manejarlo? Comenzamos Solr con 20 GB de RAM y prueba de esfuerzo, pero comienza a degradar el rendimiento cerca de 100 usuarios. ¿Dónde está el problema? ¿Cuál es la forma óptima para este problema?

También hemos probado Solr en modo SolrCloud, pero el rendimiento no mejora demasiado. Esperábamos que si hubiera algún problema de memoria, sería una excepción OOM, pero no sucedió nada de eso. Acabamos de cambiar el esquema de acuerdo con nuestros requisitos y cambiar la memoria a través de la línea de comandos. Todos los demás ajustes son predeterminados.

Las siguientes son algunas referencias que ya hemos consultado.

  1. https://wiki.apache.org/solr/SolrPerformanceProblems
  2. https://blog.cloudera.com/blog/2017/06/apache-solr-memory-tuning-for-production/
Respuesta 1

Estoy trabajando para lanzar Amazon Mechanical Turk en Java. Este es el enlace para el proyecto. (mturk-rest-java-1.0.zip se puede descargar en la parte inferior del sitio) http: //aws.amazon.com/code/Amazon -...

¿Un objeto PDPage contiene una referencia al PDDocument al que pertenece? En otras palabras, ¿un PDPage tiene conocimiento de su PDDocument? En algún lugar de la aplicación tengo una lista de ...

Este es un ejemplo del resultado del algoritmo estándar de generación de paisaje cuadrado de diamante (he usado uno de aquí: algoritmo cuadrado de diamante). El algoritmo se modifica un poco para eliminar la altura aleatoria ...

Estoy tratando de simular una interrupción de la red con los contenedores de prueba. Quería usar un contenedor Socat para exponer el puerto, y luego lo derribé y lo volví a levantar. No pude manejar esto ya que no hay interrupción. ...