viernes, 20 de noviembre de 2009

Medida de prestaciones (y III). Script JMeter para Moodle

Éste script, en su versión actual, es más sencillo que el disponible para Sakai en una entrada anterior. Espero ir mejorando el script con el tiempo. Os mantendré informados en esta entrada.

jueves, 12 de noviembre de 2009

Educase 2009 - "Blackboard, Moodle & Sakai"

Una de las conferencias más importantes del sector, Educase tuvo lugar durante la primera semana de noviembre. Os recomiendo que visitéis la página porque puede encontrarse información muy interesante.

Entre las ponencias, hubo una en la que representantes de Blackboard, Moodle y Sakai discutieron sobre los pros y los contras de adoptar soluciones propietarias frente a las soluciones open-source, comparando aspectos tales como el coste, licencias, opciones de hosting y soporte técnico, etc. En el siguiente enlace podéis descargaros el vídeo y las transparencias.

Como podréis comprobar, repiten muchas de las ideas que ya hemos comentado en alguna entrada anterior. Eso es buena señal, ¿eh?

domingo, 1 de noviembre de 2009

Dudas de instalación (II). Moodle

La instalación de Moodle está muy bien documentada en el Moodle site. Sin embargo, para bien o para mal en este mundo del software siempre suelen surgir imprevistos que nos hacen perder tiempo y paciencia.
En esta entrada pongo a vuestra disposición todo el tiempo y la paciencia que ya he perdido yo en mis años de experiencia. Será un placer resolver vuestras dudas.

Dudas de instalación (I). Sakai

La instalación de Sakai está muy bien documentada en el Confluence de la plataforma. Sin embargo, para bien o para mal en este mundo del software siempre suelen surgir imprevistos que nos hacen perder tiempo y paciencia.
En esta entrada pongo a vuestra disposición todo el tiempo y la paciencia que ya he perdido yo en mis años de experiencia. Será un placer resolver vuestras dudas.

lunes, 19 de octubre de 2009

Medida de prestaciones (II). Script JMeter para Sakai

El script Sakai.jmx incluye las herramientas más comunes en un site de Sakai, aunque no todas. De todos modos, si observáis, el incluir una nueva en el script es bastante sencillo.
Os resumo algunos puntos importantes a la hora de utilizar este script:

  • Está generado con la versión 2.3.4 de JMeter, por lo que está garantizado el funcionamiento para versiones anteriores.

  • El scriptdir es el directorio en donde vais a guardar los ficheros a los que accederá JMeter. En este directorio se guardan los ficheros de usuarios (users_list.txt) y de contraseñas (pwd_list.txt). Para cada hilo de ejecución, JMeter extraerá un usuario y una contraseña de este fichero e intentará identificarse con esas credenciales.

  • No os olvidéis de configurar la dirección IP/nombre DNS del servidor, el puerto por el que recibe las peticiones así como el protocolo (HTTP/HTTPS) que está configurado.

  • Otro aspecto importante de este script es que debéis aseguraros de que los usuarios tienen configurado en sus preferencias de idioma, el mismo en el que especifiquéis los nombres de las herramientas en la sección “set variables”. En caso contrario, los patrones de extracción de las expresiones regulares no funcionarán y, por tanto, las partes del scripts implicadas tampoco.


Por favor, si alguien lo utiliza, le ruego que me envíe la configuración de su plataforma tecnológica y los resultados obtenidos con el script, con el fin de recopilar las experiencias y de que nos beneficiemos todos.

viernes, 2 de octubre de 2009

Medida de prestaciones (I)

En esta entrada aprenderemos algunos conceptos básicos de medidas de prestaciones utilizando la herramienta JMeter. En próximas semanas veremos cómo hacer un script básico con esta herramienta para Sakai y para Moodle.
Conceptos básicos sobre medida de prestaciones
El objetivo de las medidas de prestaciones es intentar predecir anticipadamente problemas de rendimiento y degradación de recursos del sistema antes de su paso a producción y facilitar su corrección. Dicho de manera muy simple resumida: se trata de encontrar la carga para la cual el tiempo de respuesta se dispara, es decir, se degradan las prestaciones del sistema.

Así pues, la utilidad de las medidas de prestaciones es tener una estimación de cómo se comportará el sistema en un entorno real bajo unas circunstancias dadas con el fin de, por ejemplo, ser capaces de dimensionar adecuadamente la plataforma. En definitiva, se persigue, por una parte, evaluar la entrega (¿cumple con lo que espera el cliente?; ¿Cómo se estima que funcione la aplicación en producción?) y, por otra, evaluar la infraestructura elegida (¿es adecuada para la capacidad que va a soportar?¿se producen cuellos de botella?
Un aspecto crítico para el éxito de las pruebas de prestaciones es tener claro qué se quiere medir y definir las baterías de pruebas más adecuadas para ello.
¿Qué es Jmeter?
Apache JMeter es una herramienta para realizar pruebas de rendimiento y pruebas funcionales sobre aplicaciones web en general. Es desarrollada por la ASF (Apache Software Foundation).
El Apache JMeter está diseñado para desarrollar diferentes tipos de test; permitiendo diseñar tanto sencillos teses que soliciten simples páginas web, como complejas secuencias de requisiciones que permitan evaluar el comportamiento de una aplicación o como la capacidad de carga máxima que pueda tener una aplicación en un servidor (pudiendo llegar a satura el servidor).
JMeter también permite la ejecución de pruebas distribuidas entre distintos ordenadores, para realizar pruebas de rendimiento.
El Apache JMeter incluye una interfaz gráfica de usuario que facilita el diseño de las pruebas. Esta interfaz gráfico además de aportar un entorno cómodo de trabajo, también permite guardar y alterar tanto los test desarrollados como los componentes que lo integran. Gracias a esto se pueden reutilizar las pruebas o módulos de las mismas en el desarrollo de nuevas pruebas.
Además, Apache JMeter también ofrece la posibilidad de activar un Proxy web, por lo que se puede grabar la navegación de un usuario para posteriormente usarla en la generación de una prueba.
Conceptos básicos
A continuación se ofrece una descripción muy resumida de los conceptos básicos que deben conocerse para trabajar con JMeter. Para un mayor nivel de detalle, remitimos al lector a la documentación de referencia.

  • ThreadGroup:

    • Es el punto de inicio de cualquier plan de pruebas. Todos los controles y samplers deben estar debajo del ThreadGroup. Otros elementos, como Listeners, pueden estar en la misma jerarquía.
      • Controla el numero de threads (Usuarios virtuales) que se usaran en la ejecución de las pruebas. Las opciones que tiene son:
        • Number of threads: número de usuarios. Cada thread ejecuta el plan de pruebas entero de forma independiente.

        • Ramp-up Period: Le indica a Jmeter el periodo de tiempo en que se llegará al nuúmero total de usuarios. Si son usados 10 threads y el ramp-up es de 100 seg, entonces Jmeter se tomará 100 segundos para crear y correr los 10 threads. Cada thread será creado 10 seg (100/10) después de la creación del Thread anterior.

        • Loop Count: Cantidad de veces que se correrá el plan de pruebas.

        • Scheduler: Brinda mas opciones a la ejecución de las pruebas. Podemos agregar la hora de comienzo y la hora de fin, los campos Duración y Delay reemplazan a los dos anteriores.


  • Samplers:

    • Indica cómo mandar las peticiones al servidor. Cada sampler tiene características diferentes y puede mejorarse agregando elementos de configuración (Configuration Elements ).

    • Los tipos de samplers son:

      • Controladores Lógicos: permiten configurar la lógica que Jmeter usa para decidir cuándo mandar una petición.

      • Los controladores lógicos son:

        • Timers: por defecto, los Thread de Jmeter mandan las peticiones continuamente. El agregado de timers dan la posibilidad de especificar el ‘Think Time’ para que las pruebas sean más reales. Hay diferentes tipos según la necesidad del escenario de pruebas.

        • Assertions: permiten validar hechos (sucesos) acerca de las respuestas del servidor en la ejecución de las pruebas. Usando assertions se puede ‘testear’ que la aplicación está funcionando correctamente, recibiendo las respuestas esperadas del servidor. Pueden ser agregados a cualquier sampler.

        • Configuration Elements: trabajan junto a los samplers. Si bien no mandan pedidos, pueden agregar a o modificar los pedidos. Los más usados son HTTP Cookie Manager, HTTP Request Default, User Defined Variables estre otras.

        • Pre-Processor Element: ejecutan acciones antes que un sampler realice un pedido. Comúnmente es utilizado para modificar la configuración del sampler justo antas que se ejecute o para actualizar variables que no son extraídas del texto de respuesta.

        • Post-Processor Element: ejecutan acciones después que un sampler realice un pedido. Comúnmente es utilizado para procesar los datos de respuesta o extraer información de ésta.


    Orden de Ejecución
    Los componentes de Jmeter se ejecutan con el siguiente orden de prioridad:

    1. Configuration elements

    2. Pre-Processors

    3. Timers

    4. Sampler

    5. Post-Processors

    6. Assertions

    7. Listeners


    Con estos conceptos básicos y el manual de referencia del JMeter, ya estamos en condiciones de empezar a hacer pruebas.
    En entradas sucesivas, estudiaremos un plan de pruebas para Sakai y para Moodle. Por supuesto, si alguno de vosotros tiene ya algún script hecho y quiere que lo comentemos, solamente tiene que adjuntarlo.

jueves, 24 de septiembre de 2009

Enlaces recomendados

En esta sección os incluyo información sobre empresas relacionadas del sector con las que alguna vez he mantenido algún contacto por motivos diversos y que, en mi opinión, podrían ayudaros dependiendo de qué sea lo que busquéis.

Samoo

Ofrece servicios tecnológicos y asesoramiento a cualquier compañía u organización de cualquier sector en soluciones E-Learning.

  • Asesoramiento tecnológico en materia de sistemas de formación LMS.
  • Implantación de sistemas según las necesidades del cliente.
  • Desarrollos sobre sistemas LMS Open Source a medida.
  • Integraciones de herramientas sobre sistemas de formación LMS open source.
  • Vigilancia tecnológica constante sobre comunidades E-Learning.
  • Diseño e implantación de contenidos docentes.
  • Repositorios docentes para empresas y organizaciones.
  • Soporte y atención personalizada para administradores de sistemas de formación LMS.


Creaciones Copyright

Creaciones Copyright es una empresa joven, pero con mucha experiencia en el mundo de la creación, edición y producción de documentación científico técnica (libros, manuales, etc... en cualquier soporte). Miman y cuidan a sus autores y a su público como si de una madre se tratara. Os recomiendo que os deis un paseo por su catálogo editorial en donde, dicho sea de paso, encontraréis unos cuantos libros míos.

Grupo GIOUPM
El Grupo de Ingeniería de Organización de la Universidad Politécnica de Madrid, GIOUPM, lleva más de 18 años dedicándose a la formación de posgrado de alto nivel. La oferta formativa va dirigida a titulados universitarios y/o profesionales con o sin experiencia que deseen dar el salto a tareas de Dirección de Empresas, de Responsabilidad en Sistemas de Información y en la Gestión de las Telecomunicaciones en la Empresa. Además, existe la posibilidad de recibir soporte en la búsqueda y mejora de empleo, así como de prácticas remuneradas en empresas mientras se realiza el programa.