¿Meter sentencias para log'eo de tiempos por toda la aplicación?
Mejor meter un aspecto "around" con AOP contra los managers / clases
de servicio / lo-que-tengas, y colocar en él las medidas....

Francisco A. Lozano



2009/1/27 Rodrigo Juarez <[email protected]>:
>
> Adicionalmente a los profiler, mas sencillo, menos potente, podes usar algo
> como log4net para capturar información de tu aplicación y verla en archivos
> de texto ...
>
> En realidad, es tan sencillo como ir guardando los tiempos parciales antes
> de entrar en cada parte que queres medir, y verificar los tiempos al
> terminar la(s) instrucciones que queres controlar
>
> Un ejemplo de uso de log4net con debugview para verlo por pantalla en mi
> blog http://rodrigojuarez.com.ar/?p=48
>
> Tene en cuenta que la misma utilización del profiler, hace la ejecución mas
> lenta mientras lo estas utilizando
>
> Saludos
>
>
> Rodrigo Juarez
> [email protected]
> http://rodrigojuarez.com.ar
> http://intap.com.ar
>
> -----Mensaje original-----
> De: [email protected]
> [mailto:[email protected]] En nombre de uhilari
> Enviado el: martes, 27 de enero de 2009 09:50 a.m.
> Para: NHibernate-Hispano
> Asunto: [NHibernate-Hispano] Re: Problemas de Velocidad
>
>
> Gracias Francisco.
>
> Perdona la pregunta pero como soy nuevo en esto de la optimizacion, me
> gustaria preguntarte, ¿Que es ese profiler que me comentas?
>
> Gracias
>
> On 27 ene, 07:45, "Francisco A. Lozano" <[email protected]> wrote:
>> Aunque no tenga que ver con ORMs... si tu proceso es tan crítico en
>> cuanto a tiempos de ejecución, deberías meter un profiler y hacer
>> pruebas de estrés con él puesto, para ver como evolucionan los tiempos
>> de ejecución de cada una de las invocaciones de tu aplicación.
>>
>> Francisco A. Lozano
>>
>> 2009/1/27 uhilari <[email protected]>:
>>
>>
>>
>> > Dario muchas gracias
>>
>> > El usar el IStatelessSession ha sido una genial idea el proceso ahora
>> > se da en 3 minutos, pero aun no es suficiente, he estado probando lo
>> > que se trata de optimizer pero no ayuda mucho, al menos a lo que
>> > tengo, al contrario me retraso 0.5 segundos, alguna otra idea para
>> > saber lo que busco??
>>
>> > Gracias
>>
>> > On 26 ene, 10:20, Gustavo Ringel <[email protected]> wrote:
>> >> "Ler" y "Perfomante" duelen igual o más, ademas de que tu mail no
> aporta a
>> >> la discusion mientras que las sugerencias de Darío van al meollo del
> asunto.
>>
>> >> Por otro lado performante realmente no es una palabra en español, al
> menos
>> >> no hasta donde yo conozco, pero es muy usada en marcos de computación.
>>
>> >> Saludos.
>>
>> >> Gustavo.
>>
>> >> 2009/1/26 cubaman <[email protected]>
>>
>> >> > "- Usar consultas nombradas con Hql es un poco más performante"
>> >> > Ler "Perfomante" me da dolor en los ojos...
>> >> > Saludos
>>
>> >> > On 25 ene, 17:35, Dario Quintana <[email protected]>
>> >> > wrote:
>> >> > > Hola
>>
>> >> > > Es dificil saber a ciencia cierta donde hacer los retoques, pero te
>> >> > podría
>> >> > > decir qué le des una mirada a los siguientes tópicos:
>> >> > > - Usar StatelessSession. Es una Session sin cache de primer nivel,
>> >> > diseñada
>> >> > > para procesos en lotes.
>> >> > > - Usar Updates en "masa".
>> >>
>>http://blog.darioquintana.com.ar/2007/12/11/nhibernate-bulk-manipulat...
>> >> > > - Usar consultas nombradas con Hql es un poco más performante, las
>> >> > consultas
>> >> > > se cachean en la compilación de NH y se usan siempre.
>>
>> >> > > Pero bueno, cada aplicación es un mundo, y es dificil decir donde
> está el
>> >> > > problema. Saludos
>>
>> >> > > On Sun, Jan 25, 2009 at 12:40 AM, uhilari <[email protected]>
> wrote:
>>
>> >> > > > Hola a todos Foreros.
>>
>> >> > > > Tengo este problema, lo que pasa es que en el Sistema que estamos
>> >> > > > desarrollando, bueno, mas que un desarrollo es una actualizacion,
> lo
>> >> > > > que hacemos es tomar un sistema que existe hech en VB6, que usa
> SQL
>> >> > > > nativo y ahora lo estamos pasando a C# .Net para la persistencia
>> >> > > > estamos usando NHibernate. La programacion de los procesos son
> mas
>> >> > > > logicos y mas intuitivos para cualquier persona que no haya
>> >> > > > participado en el desarrollo. Esta es una gran ventaja.
>>
>> >> > > > Pero ahora viene el problema, veran en el sistema (tanto anterior
> como
>> >> > > > actual) tenemos 3 procesos criticos que son procesos en lotes del
> tipo
>> >> > > > Background, en el primer Sistema lo mas que demoraba cualquiera
> de
>> >> > > > estos procesos era de 2 minutos, el tiempo promedio era de 20
>> >> > > > segundos, pero ahora haciendolo con NHibernate el mejor tiempo
> que
>> >> > > > conseguimos fue de 10 minutos, esto es inaceptable por parte del
>> >> > > > proyecto.
>>
>> >> > > > Tengo una teoria de por que demora tanto, que cuando realizo el
>> >> > > > proceso veo que dispara muchos Insert - Updates y Select (sobre
> todo
>> >> > > > los select), asi que lo que hicimos para mejorar esto es poner
> los
>> >> > > > datos necesarios en una cache en la memoria de la PC, esto hizo
> que el
>> >> > > > tiempo bajara a 4:40 pero aun asi es inaceptable.
>>
>> >> > > > El primer proceso que hicimos teniamos el Session.Save y el
>> >> > > > Session.Flush, dentro del bucle, uno despues del otro, y el
> tiempo era
>> >> > > > de 4:40. Luego lo que usamos fue: en el bucle del proceso solo
> poner
>> >> > > > los Session.Save y dejar el Session Flush, para salir del bucle,
> pero
>> >> > > > esto no mejoro el tiempo del proceso, sino que nos creo un tiempo
>> >> > > > muerto en la Interfaz.
>>
>> >> > > > Lo que pido a Uds. expertos en NHibernate es que nos ayuden con
> ideas
>> >> > > > de como poder accelerar este proceso.
>> >> > > > Ya que si el tiempo sigue igual, no justifica el hecho e hacer un
>> >> > > > nuevo sistema.
>>
>> >> > > > Gracias
>>
>> >> > > --
>> >> > > Dario Quintanahttp://darioquintana.com.ar
>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
Para escribir al Grupo, hágalo a esta dirección: 
[email protected]
Para más, visite: http://groups.google.com/group/NHibernate-Hispano
-~----------~----~----~----~------~----~------~--~---

Responder a