Hola :) El Lunes, 10 de Julio de 2006 23:59, Juan Carlos Bravo Celis escribió:
On 10/07/06, Victor Hugo dos Santos
wrote: 2006/7/10, Juan Carlos Bravo Celis
: Estimados, tengo un servidor de imagenes en Suse 10.1, al cual se suben images desde un software desarrollado en Visual Basic usando ftp. Para esto, instale vsftp, diariamente se suben aprox 20,000 imagenes, pero el proceso es demasiado lento, pues para subir 1000 archivos se tarda aproximadamente 1 hora 30 minutos, ahora mi pregunta es la siguiente, hay alguna forma de hacer que la transferencia, sea mas rapida?
- disminuir el tamano de las imagens con menos calidad y/o algun formato distinto !!!
imposible, estan al minimo, se requiere que las imagenes sean en formato jpg. 150k aprox por imagen
Pues aquí tienes un problema. Me explico: 20 k ficheros * 150 KBytes por fichero = 3000000 KB 3000000 KB = 2,929.6875 MB = 2,86 GB Estás transfiriendo 2,86 GB usando una conexión de 25 kbps ... Normal que te vaya lento :"(
- cambiar las actuales tarjetas de redes por modelos mas rapidos (gigabytes) !!!
las tarjetas son de 1Gbit
¿Puedes hacer channel bonding en el servidor? [...]
- comprirmir del lado del cliente y descomprimir en el lado del servidor !!!
esta solucion me parece interesante, hacer que el aplicativo en visual basic, comprima las imagenes antes de enviarlas al servidor, que formato me recomendarian...?
JPEG ya es un formato comprimido, no creo que puedas comprimir mucho más. En todo caso, puedes usa 7zip que comprime mucho. Si tienes los fuentes del programa, puedes introducir una novedad y es que detecte el estado de la conexión de red, si no se usa la red ... empieza a subir ficheros, i la red está en uso ... deja de subir ficheros. [...]
- tener paciencia y dejar copiando durante el final de semana !!!
podria ser una solucion.
Esta es la que más me gusta. Otra opción similar es transferir de noche. Dudas que me surgen: - ¿puedes montar un servidor en cada oficina? La idea es tener en cada sede/oficina un servidor que recopila todas las imágenes de los PCs y así sólo hay una conexión por oficina/sede. No te va a mejorar el ancho de banda, pero vas a disminuir el número de conexiones que recibe el servidor ... ya es algo. - posiblemente la opción anterior no se pueda hacer o sea cara, ... por lo que nos queda tu servidor, el que recibe todo vía FTP. ¿Lo has monitorizado? ¿Tiene cuellos de botella? ¿Qué HW tiene? ¿Usas jumbo frames? ¿Cuántas tarjetas de red tienes? Te pregunto todo esto porque: - si no usas jumbo frames, cada paquete (1.5 K) que recibe = una interrupción. Si usas jumbo frames, cada paquete son 9 K por lo que el número de interrupciones es menor ... luego la CPU no sufre tanto. - el número de tarjetas de red te va a aumentar el número de interrupciones por lo que la CPU va a sufrir - monitoriza la CPU para ver si es un cuello de botella por lo que te he comentado antes - monitoriza la memoria porque si va a recibir 3 GB de datos, recuerda que Linux usa toda la memoria que puede. - monitoriza los discos y el sistema de ficheros porque pueden suponer otro cuello de botella, son 20 K ficheros relativamente pequeños. Pon noatime en el /etc/fstab de forma que no se escriba la fecha de acceso a fichero, esto te evita 2 accesos a disco para cada fichero - ¿los discos son locales o es una cabina SAN? ¿Son SATA, ATA, SCSI, FC? Esto también te puede dar mejoras de rendimiento en función del tipo y su configuración. - ¿cuántos ficheros maneja el servidor? No es recomendable que una partición maneje más de 40 millones de ficheros y tampoco es recomendable que un directorio accedido por MS-Windows tenga más de 15 mil ficheros. - ¿qué sistema de ficheros usas? reiserfs es muy bueno con fiheros de 4 K, pero no es bueno si el sistema de ficheros tiene mucha E/S y ficheros que se modifican mucho. XFS y ext3 son bastante todo terreno, aunque XFS está más orientado a ficheros grandes. JFS da problemas si está cargado como módulo - ¿cuántas CPUs tienes? - ¿cuántos dispositivos tienes conectados y funcionando? Recuerda lo que te he comentado anteriormente de las interrupciones ... Quita los dispositivos que se estén usando y no estén configurados. - monitoriza tu red por si hay alguien usándola "incorrectamente" aka e-donkey y familia Hay muchas más preguntas en cuanto a HW, pero de todas maneras creo que el cuello de botella es la conexión ... 25 kbps es poco, especialmente si son muchas conexiones. Intenta conseguir mejorar esto: reduciendo el número de conexiones, aumentando el ancho de banda, realizando las conexiones cuando la gente no usa la red (de noche, fines de semana, ...), ... HTH Rafa -- "Even paranoids have enemies." Rafa Grimán Systems Engineer Silicon Graphics Spain Santa Engracia, 120 - Planta Baja 28003 Madrid Spain Tel: +34 91 3984200 Tel: +34 91 3984201 Móvil: +34 628 117 940 http://www.sgi.com OpenWengo: rgriman Skype: rgriman -- Para dar de baja la suscripci�n, mande un mensaje a: suse-linux-s-unsubscribe@suse.com Para obtener el resto de direcciones-comando, mande un mensaje a: suse-linux-s-help@suse.com