Jueves, 16 Abril 2009
Performance, performance, performance. Dicen en Google que cada milisegundo cuenta. Analizar el rendimiento de páginas o servicios web es una parte importante del desarrollo de servicios web, y a la que muchas veces no se presta la demasiada atención. Como se destaca en Technet, un gran número de páginas web tienen problemas, en algunos casos relativamente sencillos de solucionar, que limitan su rendimiento.
Una gran herramienta para analizar el rendimiento y detectar posible problemas en la implementación de páginas web es Visual Round Trip Analyzer (VRTA). En definitva un network analyzer, con la ayuda de VRTA se pueden averiguar fácilmente cuales son los tiempos de respuesta para cada request, los puertos y direcciones que se contactan, el tiempo entre requests, etc… En Technet también ofrecen una lista de 12 puntos básicos que pueden ayudar a mejorar el rendimiento.
Otro aspecto muy importante durante el desarrollo de un servicio web es el análisis de la capacidad, que es más complejo porque son varios los parametros que considerar. El throughtput y el tiempo que cada request consume, el numero máximo de concurrent users, el tamaño de las queues o en disco, la utilización del procesador o memoria, etc, depende de la arquitectura del servicio, pero también de la implementación en los servidores, y en muchos casos de la dependencia de otros servicios. Visual Studio Team System y Web Capacity Analysis Tool (WCAT) ofrecen ambos herramientas para ayudar a analizar la capacidad de sistemas en desarrollo, y equilibrar adecuadamente las distintas partes que lo componen.
Deja un Comentario » |
HTTP, Internet, capacity, performance |
Permalink
Escrito por brotix
Sábado, 21 Marzo 2009
Hay una multitud de sitios donde se pueden subir vídeos para compartir. Muchos de ellos ofrecen resolución de alta definición, y soportan la mayoría de formatos. Hay sin embargo diferencias en cuanto al tamaño y la duración máximas. En CNET hacen una comparación, con detalles acerca de la calidad también.
Si lo que necesita compartir un vídeo rápidamente, estos son los servicios que en un test bastante poco ortodoxo han sido los que menos tiempo han tardado en subir y procesar el vídeo. Estos resultados, claro está, son como lo que oye uno por encima del hombro en un bar, una anécdota.
- Motionbox. 45 MB en menos de 3 minutos, incluido el procesado. La calidad no es la mejor, pero desde luego es el más rapido con diferencia. Mandan un email cuando el video está listo, por lo que uno no necesita prestar atención. http://www.motionbox.com/videos/3099dbba1318e4c0be/
- Blip.tv. El vídeo está disponible en formato original (.wma en mi caso) antes de que el procesado a Flash se complete. En total alrededor de 15 min para 45MB, con el link listo en 10, con buena calidad.http://blip.tv/file/1904846
- DailyMotion. Alrededor de 10 min también. Similar a Blip.tv. http://www.dailymotion.com/video/x8qpda_brotonavidades_people
- YouTube. Subida alrededor de 10 min también, pero sin estimación del tiempo restante para completar la subida del archivo.
- Vimeo. El más lento de los comparados. Alrededor de 45min para 45MB, debido al procesado. Envían un correo cuando el procesado se completa. http://vimeo.com/3797548
Deja un Comentario » |
Uncategorized |
Permalink
Escrito por brotix
Viernes, 13 Marzo 2009
La strong name validation es el mecanismo que tiene Windows para evitar los conflictos de los binarios. Cuando un assembly se registra en la GAC, asegura que es único en el sistema. Sin embargo, mientras se desarrollan aplicaciones es posible que no se puedan registrar los binarios (dlls por ejemplo) porque no se han firmado o por alguna otra razón. Si la aplicación espera encontrar los DLLs firmados, no los cargará si no lo están y nos encontramos con un error “Strong name validation failed”.
Si buscas en Google (o en Live), verás que no eres el único. Una forma de hacer que los binarios se carguen en la máquina es utilizando sn.exe (Strong Validation tool) :
> sn.exe -Vr <binario a registrar>
Esto es un remedio temporal. Si uno va a publicar una aplicación, se tiene que encargar de firmar los binarios correctamente. sn.exe viene instalado con Visual Studio (abrir el command prompt de Visual Studio) o en el Microsoft SDK.
Una explicación mejor dada de todo esto está en http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx
Deja un Comentario » |
C#, Windows |
Permalink
Escrito por brotix
Viernes, 13 Marzo 2009
Shortcuts para utilidades de configuración y análisis en Windows que pueden ser útiles:
- Event Viewer: eventvwr.msc
- Services console: services.msc
- Programas instalados: appwiz.cpl
- IIS Manager: inetmgr (y iisreset.exe para controlar el servicio)
- Propiedades del sistema: WindowsKey + Break (por ejemplo para cambiar el nombre de la máquina)
- Administración del sistema: compmgmt.msc (por ejemplo para añadir un usuario al grupo de administradores)
- Propiedades de IE : inetcpl.cpl (parte de wininet.dll, común con otras aplicaciones como por ejemplo Windows Media Player)
- Interfaces de red: ncpa.cpl
- Performance Monitor: perfmon
- Microsoft Management Consoles: mmc (Para por ejemplo manejar los certificados instalados)
Otras aplicación muy útil no incluida en Windows es ProcessExplorer (y el resto de aplicaciones de SysInternals)
Deja un Comentario » |
Uncategorized |
Permalink
Escrito por brotix
Miércoles, 26 Noviembre 2008
Microsoft acaba de lanzar el Azure Services Platform, la última solución que se añade a los intentos de simplificar la tarea de crear servicios web que ofrecen ya Google Google (AppEngine) y Amazon Web Services. Este artículo de Scott Watermasysk (encontrado a través de Dare Obasanjo) ofrece un buen resumen de las tres soluciones.

El Azure Services es una plataforma compleja que incluye:
- Windows Azure: Un sistema operativo distribuido en la web, que abstrae las tareas de adminstrar fisicamente servidors, y simplifica la instalación y el mantenimiento de los servicios que corren encima suyo
- .NET services y SQL Services: Ofrecen la infraestructura para desarrollar aplicaciones directamente sobre Windows Azure. SQL Services crea una base de datos relacional distribuida, permitiendo incluso sincroniar aplicaciones móbiles, mientras que .NET services ofrece una SDK de autenticación, para comunicar servicios y aplicaciones, y para crear workflows.
- Live Services: Una colección de APIs que permiten conectar con múltiples servicios desarrollados por Microsoft, como por ejemplo Mesh, Live ID, Virtual Earth o Search.
- Sharepoint Services y CRM Services (para aplicaciones de Customer Relatioship Management, como SAP) están todavía en desarrollo.
Deja un Comentario » |
Uncategorized |
Permalink
Escrito por brotix
Martes, 25 Noviembre 2008
Un servicio en Windows es un tipo especial de aplicación que suele ser utilizado para ejecutar tareas en el background sin interferir con los usuarios. Los servicios corren en su propia sesión de Windows y pueden ser controlados (pausa, stop y reinicio) desde la cónsola de control para servicios, services.msc o usando sc.exe. Los servicios no muestran ninguna UI (lo que por ejemplo hace que ciertas API, como por ejemplo WinInet, no puedan ser utilizadas dentro de servicios –en su lugar es recomendable usar WinHttp, aunque no ofrece equivalente funcionalidad), y pueden correr con contextos de seguridad distintos al del usuario que ha iniciado sesión.
La manera más sencilla de crear un servicio, es utilizando la plantilla que provee Visual Studio. En http://msdn.microsoft.com/en-us/library/d56de412(VS.80).aspx se puede encontrar toda la información necesaria.
Deja un Comentario » |
Windows |
Permalink
Escrito por brotix