![]() |
código que deja bloqueado al servidor Hola a todos. Tengo este código: Código: <%Funciona bien, pero deja al server pillado durante el tiempo que tarda en recorrer el directorio y tarda más de media hora en una carpeta con unos 1000 archivos. Alguien puede decirme por qué pasa esto ?? Que hay mal en el código ?? He probado también con base de datos access y hace lo mismo. Salu2 |
Re: código que deja bloqueado al servidor Cuántos registros tiene tu tabla? |
Re: código que deja bloqueado al servidor Hola Myakire: La tabla tiene 360.000 registros. Pero un código que hace lo contrario de este, es decir recorre todos los directorios de una carpeta (30) y va haciendo la base de datos, tarda algo mas de una hora en ingresar los 360.000 registros y no bloquea nada. Salu2 |
Re: código que deja bloqueado al servidor mmmmm, a ver, dices que si a ese código le campo estas lineas: Cita:
Entonces lo tardado esta en la lectura las aproximadamente 360 mil veces, ¿es lógico no? Yo en lo particular soy enemigo de hacer por medio de Web operaciones administrativas que se deberían ejecutar directamente desde una aplicación nativa de windows (un programa en otro lenguaje, que no use el IIS ni al IExplorer de intermediarios), pero si por la razón que sea esto es así, pues no creo que hay mucho que hacer asñi como lo tienes, hay que cambiar como haces las búsquedas. No es lo mismo simplemente escribir 360 mil veces que buscar 360 mil veces un valor entre 360 mil registros y luego si existe, borrar un archivo y más si todo lo haces usando un intermediario como es el IIS para este caso. Quitar el asterisco de la consulta es algo recomendable, para cualquier sentencia select; pero fuera de eso .... yo lo que intentaría hacer es regresar los 360 mil registros una sola vez de manera ordenada por nombre, lo guardaría en un vector (getRows) y aplicaría un algoritmo de búsqueda binaria por cada nombre de archivo. Estoy seguro que eso reduciría un 1000% (o mas) el tiempo de respuesta de tu aplicación. Claro que tienes que cambiarla un poco pero yo en tu lugar lo haría así Saludos |
Re: código que deja bloqueado al servidor Podrias ver tambien de hacer un procedimiento almacenado en el access, en realidad una consulta y que desde ahi se comunique con el sistema operativo, ahi estarias casi evitando la parte web. Ademas creo que el access tiene un tipo de acceso mas directo que desde una pagina web. Ojala te sirva. Saludos |
Re: código que deja bloqueado al servidor Cita:
Aunque hiciera la lectura y el borrado del archivos desde un SP en MySQL (no se si MySQL posea alguna forma para hacer esto) no creo que se mejore demasiado el rendimiento y el problema del "bloqueo" ya que ASP trabaja de forma síncrona, para hacerlo de forma asíncrona necesita de otro lenguaje o bien ejecutar un JOB (en Sql Server, no se cual sea su equivalenente de MySQL) |
Re: código que deja bloqueado al servidor Pues la verdad Myakire es que no se como almacenarlo an getRows y hacer las consultas ahí. Si me pones un ejemplo pequeño, trabajaré sobre él. Salu2 |
| La zona horaria es GMT -6. Ahora son las 19:10. |
Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.