Bloggers recientes

 

[ Blog ]
[ Wiki ]
[ Slideshare ]
[ Twitter ]
[ YouTube ]
Gustavo Fernandez Mensajes: 79
Estrellas: 7
Fecha: 21/08/15
Cesar Capillas Mensajes: 177
Estrellas: 8
Fecha: 10/08/15

Archivo

Tags

noBlogo - El blog de zylk.net

Linux commands to check network performance

Siguiendo un poco con el post de mi compañero Cesar , voy a poner una receta para comprobar la velocidad de transferencia entre equipos. En realidad para ello se uso el comando iperf, que se puede instalar en ubuntu, debian y centos/redhat con los gestores de paquetes de cada distro. Lo que hay que hacer es

  1. Levantar un socket de recpción en la maquina destino (iperf -s)
  2. Desde la máquina origen llamar al servicio que se ha inciado en el puerto 5001 (iperf -c IP_DE_LA_OTRA_MAQUINA)

El resultado será un pequeño informe, por pantalla de la velocidad de transferencia entre ambos equipos.

Sencillo pero muy útil...

 

Linux commands to check your disk performance
Yesterday I read in Blyx.com, NAS or SAN, that is the question, in fact a usual question for Alfresco Administrators:
 
 
In some part of the article, Toni says that Alfresco recommends a disk throughput greater than 200 MB/sec, so I decided to check some linux commands for measuring disk performance. This will impact for example in the normal work of Alfresco indexation and search (Lucene and SOLR seacrh subsystems). Also when importing data to Alfresco via Filesystem Bulk Module, CMIS/REST API custom processes, or even uploading data via CIFS, FTP or Webdav drives. Because sometimes the throughput results of a Bulk filesystem import are not good enough as expected, sometimes we have to think that something is rotten in the state of benchmark, and yes, that is the question!.
 
Usually this can is done with hdparam and dd commands. Below, I do some tests with my laptop with a quite recent SSD disk. So the results here obtained are quite good (take in consideration: local + SSD = fast). First one is hdparm:
 
cesar@erotes ~ $ sudo hdparm -tT /dev/sda
 
/dev/sda:
 Timing cached reads:   12326 MB in  2.00 seconds = 6165.99 MB/sec
 Timing buffered disk reads: 1426 MB in  3.00 seconds = 474.67 MB/sec
 
The important part is related to buffered disk reads. When we are measuring disk performance we usually talk about non cached reads (or writes). This command can be applied to IDE/SATA disks (LVM disks or iSCSI disks). The hdparm command does not work for CIFS or NFS. For testing NFS, CIFS you can use specific utilities or check dd. 
 
To check write performance, it is useful the dd command. Here again, it is important to check caches or deactivating them for testing. You can deactivate cache writing in a disk with the help of hdparm command too (for example for sda local sata disk something like sudo hdparm -W1 /dev/sda)
 
We can test streaming (for example 1 iteration of 1G): With write caching on, normally activated (if not you can apply sudo hdparm -W1 /dev/sda):
 
cesar@erotes ~ $ dd if=/dev/zero of=/tmp/testfile1 bs=1G count=1 oflag=direct
1+0 records read
1+0 records written
1073741824 bytes (1,1 GB) copied, 2,44595 s, 439 MB/s
 
If I deactivate write caching:
 
cesar@erotes ~ $ sudo hdparm -W0 /dev/sda
/dev/sda:
 setting drive write-caching to 0 (off)
 write-caching =  0 (off)
 
And I repeat the test:
 
cesar@erotes ~ $ dd if=/dev/zero of=/tmp/testfile2 bs=1G count=1 oflag=direct
1+0 records read
1+0 records written
1073741824 bytes (1,1 GB) copied, 6,9191 s, 155 MB/s
 
We see how a similar test without caches is quite worse. We can also test latency (for example with 1000 iterations of 512b) and activating write-cache again:
 
cesar@erotes ~ $ sudo hdparm -W1 /dev/sda
 
cesar@erotes ~ $ dd if=/dev/zero of=/tmp/testfile3 bs=512 count=1000 oflag=direct
1000+0 records read
1000+0 records written
512000 bytes (512 kB) copied, 0,0392862 s, 13,0 MB/s
 
Deactivating write-caching again:
 
cesar@erotes ~ $ sudo hdparm -W0 /dev/sda
 
/dev/sda:
 setting drive write-caching to 0 (off)
 write-caching =  0 (off)
cesar@erotes ~ $ dd if=/dev/zero of=/tmp/testfile4 bs=512 count=1000 oflag=direct
1000+0 registros leídos
1000+0 registros escritos
512000 bytes (512 kB) copiados, 1,63136 s, 314 kB/s
 
This last test hurts. Roughly speaking, this is the reason why your TV series in HD seems faster to copy than your huge icon galleries when you upload them to Alfresco.  
 
Sometimes you read, that dd needs to sync data to get "real" measurements, so the performance is in fact a little worse (this can be achieved with the oflag=sync and repeating the tests). The oflag modes are better explained in the second link below.
 
Some of the links I used for the article:
Limiting the number of cores for Alfresco Transformations
This is an Alfresco Tip taken from my test on Alfresco Honeycomb Edition (I will post some notes about this other day). The tip is related to limit the number of cores used by Alfresco transformation, preventing CPU throttling
 
In alfresco-global.properties set:
 
img.exe=/opt/alfresco/bin/limitconvert.sh
 
where the original script is:
 
#! /bin/bash
# This file is to limit the number of cores used by Alfresco transformation
# and prevent cpu throttling. The script limits ImageMagick convert to use less resources.
# Check the number of available cpu:s with
# cat /proc/cpuinfo | grep processor | wc -l
# If you have more, change to -c 0,1 if you have 4, -c 0,1,2 if you have 6 and so on.
# Check man taskset for more info.
# Copyright 2013 Loftux AB, Peter Löfgren
# Distributed under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC BY-SA 3.0)
# -------
 
taskset -c 0 /usr/bin/convert $@
 
Empaquetando aplicaciones java para MACOS

A continuación voy a da algunas referencias que nos han ayudado en la automatización de la generacion de empaquetados para MACOS, de aplicaciones java. En zylk.net empezamos a hacer nuestros primeros desarrollos multiplataforma allá por el año 2009 cuando desarrollamos, junto a otros miembros de la comunidad, la primera versión de sinadura. Después de 6 o 7 años el proceso de empaquetar aplicaciones para MACOS lo hemos ido mejorando mientras hacíamos proyectos con izenpe, lantik etc... Este mes he estado involucrado en el desarrollo de un cliente de firma que use lo que se conoce como firma por protocolo. Este cliente funcinará con MACOS y se distribuirá como un .dmg[0] con su .app para MACOS.

Para poder automatizar la generación de los instaladores para las distintas plataformas usamos estrategias diferentes para cada sistema operativo.

 * Linux (Izpack[1][2] y la generación de un .run[3])
 * Windows (Izpack y launch4j[4])
 * MACOS (JarBundle[5] y genisoimage[6])

En todos estos sabores de sistemas operativos y arquitecturas, automatizamos las generaciones usando ant o maven para que desde nuestra máquina de QA se puedan generar los empaquetados sin necesidad de disponer de maquinas específicas que generen los empaquetados para cada Sistema operativo.

A continuación mostramos unas imágenes de nuestra herramienta de integración continua desde la que podemos generar y publicar los instaladores de sus distintos sabores.





Para este proyecto también hemos hecho que los instaladores registren los protocolos necesarios para que la firma por protocolo funcione. En este caso para windows se usa el registro de windows, en linux se usa xdg[7] y en MACOS se usa el Info.plist[8] de la app


[0] https://en.wikipedia.org/wiki/Apple_Disk_Image
[1] http://izpack.org/
[2] http://izpack.org/documentation/izpack-utils.html
[3] https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable
[4] http://launch4j.sourceforge.net/
[5] http://informagen.com/JarBundler/
[6] http://www.debianadmin.com/genisoimage-creates-iso-9660-cd-rom-filesystem-images.html
[7] https://wiki.archlinux.org/index.php/Xdg-open
[8] https://en.wikipedia.org/wiki/Property_list#Mac_OS_X
 

¿Conoces el Marketplace de Liferay?

Hace ya un tiempo que Liferay Portal anunció su propio Marketplace de aplicaciones. Cómo sabéis en zylk.net desarollamos aplicaciones tanto para Liferay Portal como para Alfresco ECM en su market de addons y por eso vamos a dedicar una serir de post a analizar estos markets y contaros algunas cosas que hemos visto Itsaso ugalde y yo mismo en el market y que esperamos sean de vuestro interés.

Un marketplace es un portal online que permite a vendedores y compradores relacionarse para llevar a cabo una transacción comercial. En este caso aplicaciones compatibles con vuestro portal de Liferay. En palabras del propio Liferay su Markeplace es  "..an exciting new hub for selling, sharing, and downloading 
Liferay-compatible applications" 

Hemos realizado un análisis (Datos a Julio de 2015) de las aplicaciones para saber lo que podemos encontrar en el portal. Por ejemplo saber cuales cuantas veces se descargan, cual es el país o la empresa más aplicaciones aporta, cual es el coste medio de las mismas, el tipo de licencia que tienen, etc. Cosas como por ejemplo que a la fecha del análisis el Marketplace de Liferay tiene un total de 387 programas con más de 280.000 descargas;  25 de ellos son de pago el 6,46% y los otros 362 son gratuitos el 93,54% o, que por ejemplo; de las de las 127 empresas que ofrecen sus productos en el marketplace solo 17 son españolas. Todo esto os lo detallaremos en los siguientes post y, si queréis aportarnos algún dato vuestro o saber alguna cosa más no dudés en preguntarnoslo. Si tenemos la información identificada la compartimos con vosotros.

Para realizarlo hemos analizado una a una las fichas de los productos publicados en el Market. 

 

Para buscar una de las aplicaciones por ejemplo, lo hemos realizado así:

Simplemente con poner el nombre del programa hubiese servido, pero aquí en esta búsqueda hemos especificado también la categoría en la que se encuentra esta app.

Una vez que realiza la búsqueda, nos sale el programa que hemos buscado, junto con otros que tienen un nombre parecido o algunas mismas palabras. Entramos en la página del programa concreto que hemos buscado, en este caso Newsletter plugin by Zylk.net, y de ahí comenzamos con el análisis.


Como hemos marcado en la imagen anterior, los datos más importantes son los que están redondeados en verde. El primer dato son las descargas totales que tiene el producto, en este caso 123 descargas. El otro dato son las versiones necesarias para el uso de la app. Por supuesto un dato muy importante para todos los programas es el precio. Aquí en este caso, el programa es gratuito. Si fuese de pago, vendría abajo especificado el precio exacto así como cualquier otro coste que tuviese dicho programa. También es muy importante saber para qué versión es compatible. Recordad que con vuestra versión Enterprise contáis con algunas aplicaciones del Marketplace Extra que os harán ganar productividad.

Poniendo otro programa de Zylk.net como ejemplo, vamos a ver otros datos que utilizamos para nuestro análisis. Con CMIS content viewer os mostramos los votos y puntuaciones que se han dado a los programas.

Se nos muestra cual es la puntuación media del cliente y cuántas puntuaciones se le ha dado.

Esta demostración que os hemos enseñado con estos pantallazos, lo hemos hecho con todos los programas del marketplace de Liferay, en todas sus categorías. Más adelante en el blog os daremos más detalles. Mientras, podéis echarle un vistazo directamente al marketplace ver si encontráis alguna aplicación que cubra vuestras necesidades o directamente en las de zylk.net que ha desarrollado tres aplicaciones gratuitas para que las disfrutéis y que podéis descargar aquí. Y, si no,  siempre podéis encargarnos alguna para que evaluemos su desarrollo. :)

Mostrando el intervalo 1 - 5 de 296 resultados.
Resultados por página 5
de 60