Foros del Web » Programando para Internet » PHP »

Tiempo espera excesivo

Estas en el tema de Tiempo espera excesivo en el foro de PHP en Foros del Web. Tengo una web de un servidor de Minecraft, en una parte de la web se muestra el estado (online/offline) y los jugadores conectados de todos ...
  #1 (permalink)  
Antiguo 20/12/2013, 07:15
Avatar de Macf  
Fecha de Ingreso: agosto-2007
Mensajes: 29
Antigüedad: 17 años, 2 meses
Puntos: 0
Tiempo espera excesivo

Tengo una web de un servidor de Minecraft, en una parte de la web se muestra el estado (online/offline) y los jugadores conectados de todos los servidores, el caso es que cuando los servidores tienen un numero de usuarios normal 60%-70% de su capacidad la pagina en cuestión carga bastante bien, entre 1 y 2seg, pero cuando los servidores se llenan casi al tope la función que comprueba el estado de los servidores se demora bastante, y hace que la página llegue a tener tiempos de carga de mas de 10 segundos, algo inaceptable, por eso al tener que hacer comprobaciones a 25 servidores quiero que se ejecuten todas a la vez, o al menos por lotes, quizás de 5 en 5 para no cargar demasiado al servidor.

La función que se llama 25 veces es del tipo:
Cita:
check_server_modal($lista_servers['lobby'][0],$lista_servers['lobby'][1])
check_server_modal($lista_servers['survivalgames'][0],$lista_servers['survivalgames'][1])
check_server_modal($lista_servers['prophunt'][0],$lista_servers['prophunt'][1])
etc ...
He intentado seguir [URL="http://tiempoprogramando.blogspot.com.es/2009/04/threads-hilos-en-php.html"]este[/URL] ejemplo que se ha comentado en preguntas parecidas pero no consigo entender como implementarlo, no hace mucho que empece con esto de php y con cosas relativamente complicadas me pierdo.

Un saludo.
  #2 (permalink)  
Antiguo 20/12/2013, 07:17
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Tiempo espera excesivo

En vez de devolver de golpe una lista de servidores con el número de jugadores, ya que cargar esa página dependerá de la velocidad que tarde cada servidor en comunicar el número de jugadores, devuelve la lista de servidores sin el dato de número de jugadores, poniendole por ejemplo un "calculando..." o algo as a cada unoí, y haz que javascript y ajax se encarguen de actualizar ese datos de cada uno de los servidores de la lista.
  #3 (permalink)  
Antiguo 20/12/2013, 07:28
Avatar de Macf  
Fecha de Ingreso: agosto-2007
Mensajes: 29
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Tiempo espera excesivo

Tambien se me habría ocurrido, pero eso no solucionaría que tuvieras que esperar mas de 10 segundos para saber el estado, pero si no consigo arreglarlo de esta forma intentaré hacerlo así, Gracias ;)
  #4 (permalink)  
Antiguo 20/12/2013, 07:31
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 10 meses
Puntos: 206
Respuesta: Tiempo espera excesivo

Solucionar lo de los 10 segundos es muy fácil. Compra un servidor más potente y/o más ancho de banda.
  #5 (permalink)  
Antiguo 20/12/2013, 08:00
Avatar de Macf  
Fecha de Ingreso: agosto-2007
Mensajes: 29
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Tiempo espera excesivo

Tengo dos dedicados gemelos, cada uno con 32Gb de Ram , un Intel® Xeon® E3 1240 v3 y 400Mb de red garantizados, no es porque el servidor no pueda ejecutar el script mas rápido, solo que el juego tarda un poco en enviar los datos (con 25 servidores en cuanto tarde en contestar cada uno 3 décimas de segundo ya tenemos casi los 9seg, pero el caso es que estoy pidiendo ayuda para adecuar el código del ejemplo de multi hilos a mis necesitades, ¿puedes ayudarme a eso?, porque si ejecuto las 25 consultas al mismo tiempo en vez de 9 seg tarda menos de 1.
  #6 (permalink)  
Antiguo 20/12/2013, 09:10
 
Fecha de Ingreso: mayo-2009
Ubicación: Japon
Mensajes: 60
Antigüedad: 15 años, 6 meses
Puntos: 12
Respuesta: Tiempo espera excesivo

puede usar python en modo background para que te mantenga actualizada una base de datos local

para mantener datos externos actualizados y obtener buena velocidad, los escripts en segundo plano son la mejor opcion

Etiquetas: espera, html, tiempo, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:28.