elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  [Rendimiento] ejecucion de un script por mucho tiempo !???
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: [Rendimiento] ejecucion de un script por mucho tiempo !???  (Leído 5,272 veces)
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
[Rendimiento] ejecucion de un script por mucho tiempo !???
« en: 19 Marzo 2012, 02:49 am »

Buenas.

Tengo un servidor el cual realiza ciertas tareas y hasta ahorita todo marcha bien... El detalle es que estoy por implementar una nueva actividad, por lo cual requiero que mi servidor ejecute algo durante 12 horas, pero no es una ejecucion constante del archivo (que este procesando), sino que de esas 12 horas, va a ejecutarse digamos 1 minutos y va a dormir 11 minutos, despues ejecuta otra vez 1 minutos y dormir 11 minutos, al completarse 6 horas (la mitad) dormira por 30 minutos (1 hora), y se volve a ejecutar una tarea de 1 minutos y dormir 11 minutos, etc, etc.... finalizara a las 12 horas de ejecucion.

Tengo el codigo en dos lenguajes, en PHP y en C, en ambos para dormir uso "sleep()", el detalle es que, nose si esto vaya a afectar a mi servidor, ya que este mismo server me sirve de DNS y HTTP.... ya que no tengo un segundo server que haga esta tarea.

Ya sea el code en PHP o C, estos se piensan invocar automaticamente a la misma hora usando CRON y el modo de ejecucion a realizar es:

Código:
# usando el code PHP
shell# php /root/public_html/tareas.php usuario clave mi_tarea

# o bien usando el code en C
shell# /root/public_html/mitarea -u usuario -p clave -d mi_tarea

Actualmente mi server atiende aproximadamente 2,500 visitas mensuales.

Ustedes que opinan ?

NOTA: ya se como hacerlo, solo quiero su recomendacion si el proceso se ejecuta tanto tiempo, consumira mi server ?

Saludos !


« Última modificación: 19 Marzo 2012, 14:33 pm por Diabliyo » En línea

mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #1 en: 19 Marzo 2012, 06:39 am »

Por que no usas mejor las Tareas Programadas?


En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #2 en: 19 Marzo 2012, 13:36 pm »

Por que no usas mejor las Tareas Programadas?

??? no te entiendo, porfavor explicate mas... es dificil para mi bola magica leer la realidad del mensaje xD :D
En línea

Pablo Videla


Desconectado Desconectado

Mensajes: 2.274



Ver Perfil WWW
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #3 en: 19 Marzo 2012, 14:30 pm »

??? no te entiendo, porfavor explicate mas... es dificil para mi bola magica leer la realidad del mensaje xD :D

crontab, busca sobre eso, puede que te ayude
En línea

Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #4 en: 19 Marzo 2012, 14:32 pm »

crontab, busca sobre eso, puede que te ayude

Ya se que es crontab, y se como usarlo, la pregunta va sobre recomendacion...

Lee bien mi post porfavor, no busco me digan como hacer las cosas, sino su opinion sobre si lo hago, se consumira mucho el server ?

Saludos !
En línea

mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #5 en: 19 Marzo 2012, 16:57 pm »

Ya se que es crontab, y se como usarlo, la pregunta va sobre recomendacion...

Lee bien mi post porfavor, no busco me digan como hacer las cosas, sino su opinion sobre si lo hago, se consumira mucho el server ?

Saludos !

Claro que se consumiría el server, eso dejando a un lado en donde lo ejecutarías, es decir, si tienes tu propio server que obviamente tiene que estar up las 24hrs ps no le veo mucho problema pero intenta dejar un programa corriendo por 12 hrs seguidas haciendo sleep varias veces y ve la memoria que esta ocupando la tarea, vamos tío, con CronJobs te ahorarrias muchas cosas, solo tendrías que hacer que se ejecute el programa de 1 minuto cada determinado tiempo y te ahorras el sleep y tanta cagada... Y si sabes bien sobre CronJobs sabes que aparte de que puedes poner diferentes tareas hasta cada minuto y no hay ningún problema ya que tiene un muy buen manejo de recursos (a menos de que quieras hacer el tuyo xD).

Mas claro: mi recomendación -> UsaCronJobs(!!);

Salduos!
« Última modificación: 19 Marzo 2012, 16:58 pm por mokoMonster » En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #6 en: 20 Marzo 2012, 00:50 am »

Supongo que si o por lo menos memoria. Recuerda que PHP librera memoria automáticamente al finalizar el script, una opción también es comenzar a liberar memoria antes de entrar al sleep.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
Diabliyo


Desconectado Desconectado

Mensajes: 1.441


shell# _


Ver Perfil WWW
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #7 en: 21 Marzo 2012, 01:12 am »

Supongo que si o por lo menos memoria. Recuerda que PHP librera memoria automáticamente al finalizar el script, una opción también es comenzar a liberar memoria antes de entrar al sleep.

Esa si no me la sabia, me darias mas info de esto ?
Crees que seria el mismo problema si corriese el script de C ?

Claro que se consumiría el server, eso dejando a un lado en donde lo ejecutarías, es decir, si tienes tu propio server que obviamente tiene que estar up las 24hrs ps no le veo mucho problema pero intenta dejar un programa corriendo por 12 hrs seguidas haciendo sleep varias veces y ve la memoria que esta ocupando la tarea, vamos tío, con CronJobs te ahorarrias muchas cosas, solo tendrías que hacer que se ejecute el programa de 1 minuto cada determinado tiempo y te ahorras el sleep y tanta cagada... Y si sabes bien sobre CronJobs sabes que aparte de que puedes poner diferentes tareas hasta cada minuto y no hay ningún problema ya que tiene un muy buen manejo de recursos (a menos de que quieras hacer el tuyo xD).

Mas claro: mi recomendación -> UsaCronJobs(!!);

Salduos!

Usaria cronjobs el detalle es que el programa en PHP o C (lo tengo en ambos lenguajes), consulta de la BDD y segun el numero de tareas, realiza un calculo asi como:

Código
  1. $cons= consultar( "NOTIFICACIONES" ); # obtiene todas las notificaciones
  2. $cont= mysql_num_rows($cons); # numero de notificaciones del dia a realizar
  3. $horas= 6; # en solo 6 horas deben salir todas las notificaciones
  4. $rango= (($horas*60)*60)/($cont); # tiempo de espera (en segundos) entre cada notificacion
  5.  
  6. while( $buf=mysql_fetch_array($cons) )
  7.          {
  8.          enviar_notificacion_por_socket( $buf );
  9.          sleep($rango); # dormir
  10.          }

Podrian opinar que envie todas las notificaciones de palmo, pero no puedo, tengo que hacerlo paulatinamente !

Como ven es impredecible el numero de notificaciones que el sistema tendria que hacer, igual y es solo 1, o bien podrian ser 100 (o mas)...

Les repito, el codigo lo tengo en C y PHP, si corro el script con cron, veo que muchos opinan que el script en PHP consumira ram, pero... si fuese en C, creen que seria mejor ? o seria lo mismo ?

Que me recomiendan ?
« Última modificación: 21 Marzo 2012, 01:16 am por Diabliyo » En línea

~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #8 en: 26 Marzo 2012, 05:42 am »

pues eliminando variables, arrays, recursos, etc... Asi liberas memoria.

Quizas muestro un PoC pero de momento no tengo mi fedora para probar y paso de hacerlo en window.

Igual, si lo tienes en c y php, yo elejiria C...

saludos.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
mokoMonster


Desconectado Desconectado

Mensajes: 301


<? ...


Ver Perfil
Re: [Rendimiento] ejecucion de un script por mucho tiempo !???
« Respuesta #9 en: 28 Marzo 2012, 06:10 am »

Esa si no me la sabia, me darias mas info de esto ?
Crees que seria el mismo problema si corriese el script de C ?

Usaria cronjobs el detalle es que el programa en PHP o C (lo tengo en ambos lenguajes), consulta de la BDD y segun el numero de tareas, realiza un calculo asi como:

Código
  1. $cons= consultar( "NOTIFICACIONES" ); # obtiene todas las notificaciones
  2. $cont= mysql_num_rows($cons); # numero de notificaciones del dia a realizar
  3. $horas= 6; # en solo 6 horas deben salir todas las notificaciones
  4. $rango= (($horas*60)*60)/($cont); # tiempo de espera (en segundos) entre cada notificacion
  5.  
  6. while( $buf=mysql_fetch_array($cons) )
  7.          {
  8.          enviar_notificacion_por_socket( $buf );
  9.          sleep($rango); # dormir
  10.          }

Podrian opinar que envie todas las notificaciones de palmo, pero no puedo, tengo que hacerlo paulatinamente !

Como ven es impredecible el numero de notificaciones que el sistema tendria que hacer, igual y es solo 1, o bien podrian ser 100 (o mas)...

Les repito, el codigo lo tengo en C y PHP, si corro el script con cron, veo que muchos opinan que el script en PHP consumira ram, pero... si fuese en C, creen que seria mejor ? o seria lo mismo ?

Que me recomiendan ?

Y que pasa cuando acaba con la primera "notificacion"? Si sigue con la segunda o se queda en sleep?
En línea

"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calcular tiempo de ejecución de un script en PHP
PHP
madpitbull_99 2 3,491 Último mensaje 19 Abril 2011, 18:46 pm
por [u]nsigned
rendimiento peticiones/segundo y tiempo de respuesta de...
Desarrollo Web
Kase 2 4,193 Último mensaje 20 Abril 2011, 08:43 am
por Kase
Duda ejecución script php
PHP
Kaxperday 6 1,799 Último mensaje 17 Septiembre 2014, 19:27 pm
por MinusFour
Ver rendimiento de CPU y tiempo de demora en proyecto
GNU/Linux
etillo 3 2,092 Último mensaje 9 Abril 2015, 00:52 am
por MinusFour
El HDR afecta mucho al rendimiento de juegos, sobre todo en tarjetas de NVIDIA
Noticias
wolfbcn 0 1,077 Último mensaje 25 Julio 2018, 21:41 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines