HOLA Lista PERL
Ing. Edgar Valencia Figueroa
edgar@telesur.acnet.net
Tue, 21 Oct 1997 22:47:55 -0500 (CDT)
On Mon, 20 Oct 1997, Isabel Gonzalez DI. REDES 3542 wrote:
>
> Hola a todos,
>
> Muchas gracias por sus comentarios, de cualquier forma les pido nos
> indiquen la instruccion o la forma de hacer un archivo de lectura y
> escritura al mismos tiempo, ya que nuestro problema principal fue no
> encontrar la forma de hacer eso y entonces fue cuando creamos el archivo
> temporal para bajas y cambios pero es lo que hace mas trafico pues para
> hacer una baja copiamos linea por linea del archivo indices.txt al
> temporal y cuando encuentra la que hay que dar de baja ya no copia esa
> linea y se sigue con las otras hasta que termina con las 700 lineas y lo
> mismo hace en el caso de cambios, por lo tanto bajas y cambios son los que
> ocasionan el mayor problema; altas y consultas ocasionan mucho menos
> trafico, pero al tener peticiones simultanes de las las 4 cosas (a,b,c y
> c) en el mismo archivo ocasiona que pierde lineas el archivo.
Puedes solucionarlo si haces un peque/o programa en C que implemente
semaforos y uso de memoria compartida de la siguiente forma:
Puede crear una lista ligada (si quieres doble) y ponerla en memoria
compartida (shared memory), despues con el uso de semaforos tener acceso
a ella para hacer ABC; utilizando este metodo tienes tiempos de respuesta
muy muy peque/os, y en algunos casos, predecibles. La desventaja es que
manejas todo en memoria (algunos manejadores de base de datos asi lo
hacen), lo que sugiero es tener otro programa que escriba esta estructura
a archivo ocasionalmente.
>
> Si se eficientaran las bajas y cambios (no crear el archivo temporal) y
> simplemente se borrara la linea o se cambiara, consideran que tendriamos
> el mismo problema?
Haciendolo asi, ya no tienes el problema de el archivo temporal.
> Como podemos eficientalo (para bajas borrar solo el renglon
> correspondiente y borrar la linea en blanco para que no queden renglones
> vacios?
Con la lista ligada, no tienens ese problema, ya que solamente liberas
el nodo (memoria) la cual quieres borrar. Si quieres seguir con tu
archivo de texto y PERL, puedes simplemente borrar el registro (renglon)
una vez que ha sido encontrado.
> Combiene mas eficientarlo en C que en Perl ?
> Funcionaria sin problema?
PERL es buenisimo para el manejo de cadenas y en algunas veces, lo he
utilizado para hacer CGI y programas mas complejos. El problema es que,
con un numero grande de usuarios, se torna muy lento. Mi recomendacion es
hacerlo en C (auque solamente sea el manejo de semaforos y shared memory).
>
> Tengo como 500 usuarios aprox. y pueden aumentar. Simultaneamente creo que
> si hay mas de 50 usuarios aunque solo durante 3 o 4 semanas despues
> disminuyen.
>
> Saben si existen forma de combinar Perl y oracle sql?
> y msql y perl? y web sql?
Puedes combinarlo con msql, se tiene una interfaz dise/anada para tal
efecto.
Mi recomendacion:
Hazlo en un manejador de base de datos!!!! Como msql o de plano en
ORACLE (puedes programarlo en proC). Nop te compliques la vida con ese
numero de usuarios y sobre todo, cuando tus usuarios te demanden menores
tiempos de respuesta.
Saludos!
______________________________________________________
El Mercado Mexicano en el Mundo - M3W3
Ing. Edgar Valencia F. edgar@telesur.acnet.net
http://www.m3w3.com.mx M3W3 - Organizando el Web
Tels: 379-8584, 379-5084. FAX: 370-1160
Sistemas, capacitacion, consultoria, paginas.
______________________________________________________