sexta-feira, 19 de fevereiro de 2010
sexta-feira, 14 de agosto de 2009
10 Steps High Performance CF
1. Analise de logs
Todos os logs usando janela de 7 dias.
Uso de logs para manter o foco nos problemas.
2. Ferramenta de teste
SeeFusion 4.0.7 para testes de URL (disse que eh mais fácil de usar, mas eh paga)
Pode usar o JMeter tb
A vantagem de usar essa é que tudo está na mesma janela e segundo o cara é mais fácil de mexer, pois não existem configurações presentes no Jmeter.
Ele começou com 20 usuários para tentar achar os erros e depois foi crescendo.
2s de delay, 15 minutos de teste
A ferramenta gera logs com o uso threads e de memória inclusive.
O default do CF é usar 25 threads. Vc pode ver pelo delay nos logs como está sua app.
Se vc começa a ter delays com as threads, vc percebe que a performance começa a degradar rapidament.
Ele costuma usar o heap space da jvm em 1Gb. O que é mole com as máquinas de hoje.
É importante sempre deixar objetos para o Garbage Collector na parte young do que old para melhorar a preformance. O CF gera mais objetos que as aplicações java comuns. Observar se o GC está cheio.
O grafico que ele usa pra tirar conclusoes eh o Spectrum of Click Times (4d).
Todos os logs usando janela de 7 dias.
Uso de logs para manter o foco nos problemas.
2. Ferramenta de teste
SeeFusion 4.0.7 para testes de URL (disse que eh mais fácil de usar, mas eh paga)
Pode usar o JMeter tb
A vantagem de usar essa é que tudo está na mesma janela e segundo o cara é mais fácil de mexer, pois não existem configurações presentes no Jmeter.
Ele começou com 20 usuários para tentar achar os erros e depois foi crescendo.
2s de delay, 15 minutos de teste
A ferramenta gera logs com o uso threads e de memória inclusive.
O default do CF é usar 25 threads. Vc pode ver pelo delay nos logs como está sua app.
Se vc começa a ter delays com as threads, vc percebe que a performance começa a degradar rapidament.
Ele costuma usar o heap space da jvm em 1Gb. O que é mole com as máquinas de hoje.
É importante sempre deixar objetos para o Garbage Collector na parte young do que old para melhorar a preformance. O CF gera mais objetos que as aplicações java comuns. Observar se o GC está cheio.
O grafico que ele usa pra tirar conclusoes eh o Spectrum of Click Times (4d).
iPhone Apps + ColdFusion
Palestra realizada pelo Modormo Sinistro.
Ate agora ele não falou nada de mais.
iPhone + ColdFusion
iPhone = client device with safari browser
ColdFusion = Server Application
Ate agora ele não falou nada de mais.
iPhone + ColdFusion
iPhone = client device with safari browser
ColdFusion = Server Application
Iphone + Coldfusion
Construção de Iphones Apps sem Objective-C só com html, javascript e css.
O Iphone ainda não tem um suporte decente para flash.
O CF serve tanto para browser como data-provider para o iphone
Obviamente não é possível acessar os devices do iphone via browser...
Mais banda a ser consumida, e menos updates em relação a app em Objective-C.
É de graça, não precisa hospedar na AppleStore (US90,00), em compensação, o usuário deve acessar seu site (com o qr code e uma conexão eh moleza)
20 dias até a aprovação pela Apple!
Essa é uma palestra (do mordomo sinistro) para te convencer a usar a plataforma CF pra fazer aplicativos para o Iphone. Se vc faz apenas visualização de dados blz, cc não tem como competir com a aplicação escrita pro telefone....
No exemplo do camarada ele criou uma view de depois inseriu uma web-view dentro com o endereço da aplicação. Esta é uma maneira simples de colocar seu aplicativo no telefone sem programar nada. Desta forma vc continua pagando, mas tem o seu "link" no telefone do cliente.
Frameworks para criar apps do iphone sem objective-C:
Nimblekit (http://www.nimblekit.com)
PhoneGap (http://phonegap.com/) <- dá pra fazer aplicativo pra Android e Black tb
QuickConnect (http://quickconnect.sourceforge.net/browser/index.html)
O Iphone ainda não tem um suporte decente para flash.
O CF serve tanto para browser como data-provider para o iphone
Obviamente não é possível acessar os devices do iphone via browser...
Mais banda a ser consumida, e menos updates em relação a app em Objective-C.
É de graça, não precisa hospedar na AppleStore (US90,00), em compensação, o usuário deve acessar seu site (com o qr code e uma conexão eh moleza)
20 dias até a aprovação pela Apple!
Essa é uma palestra (do mordomo sinistro) para te convencer a usar a plataforma CF pra fazer aplicativos para o Iphone. Se vc faz apenas visualização de dados blz, cc não tem como competir com a aplicação escrita pro telefone....
No exemplo do camarada ele criou uma view de depois inseriu uma web-view dentro com o endereço da aplicação. Esta é uma maneira simples de colocar seu aplicativo no telefone sem programar nada. Desta forma vc continua pagando, mas tem o seu "link" no telefone do cliente.
Frameworks para criar apps do iphone sem objective-C:
Nimblekit (http://www.nimblekit.com)
PhoneGap (http://phonegap.com/) <- dá pra fazer aplicativo pra Android e Black tb
QuickConnect (http://quickconnect.sourceforge.net/browser/index.html)
Performance Tuning CF
Identification:
. listen to what your server is trying to tell you
. enable slow page loggin
. obtain and analyze a heap dump
. review memory utilization with visual vm and visual gc plugin
. investigate method calls with hpjmeter
. capure a sql trace during peak production site load
dica: Interessante habilitar o kernel times no taskmgr para identificar problemas no servidor. ver linhas do grafico
Slow page Loggin:
. enable in cf
. process the server.log with findslow.cfm (cfcode.com) to get a report on the most often used slow templates.
heap dump:
. obtain a heap dump. -XX:+HeapDumpOnOutOfMemoryError
VisualVM (app -> heap dump)
. Review the heap dump in netbeans or visualvm
===> quando o CF trava ele escreve um arquivo no /bin. (sobreescreve o ultimo criado)
HPJmeter
. Capture method invocation data
. Identify lingering objects (mem leaks)
Not always about the code
. network issues - identify overload nic with task mgr, host issues (ping pathping), wireshark (packet listing)
. ports open (free extended task mgr).
. identify overload disk resources (check memory , cpu, processes, disk i/o)
. poorly configured database - capture a .trc file using sql profiler with 'tuning' profile selected (in production). Run .trc through database tuning advisor (available on sql standard or higher) and quickly locate database slow-downs, and even implement recommended fixes.
-- the more sample the better the result.
o tracer contem todas as execucoes que foram feitas naquele banco de dados durante o periodo capturado, o software ira executar essas operacoes e verificar onde estao os gargalos na db especificada.
in the end its all about user perception
. enable gzip compression of static site assets
. combine css and js for faster loading
. enable expiration tags for images, css, and js files for future date.
. use a tool like yslow to id user-side issues.
. testing with tools like jmeter can help you get a better user perspective on site performance.
Chris Peterson
www.alagad.com
cpeterson@alagad.com
(888) alagad4 ext 369
override11 twitter
. listen to what your server is trying to tell you
. enable slow page loggin
. obtain and analyze a heap dump
. review memory utilization with visual vm and visual gc plugin
. investigate method calls with hpjmeter
. capure a sql trace during peak production site load
dica: Interessante habilitar o kernel times no taskmgr para identificar problemas no servidor. ver linhas do grafico
Slow page Loggin:
. enable in cf
. process the server.log with findslow.cfm (cfcode.com) to get a report on the most often used slow templates.
heap dump:
. obtain a heap dump. -XX:+HeapDumpOnOutOfMemoryError
VisualVM (app -> heap dump)
. Review the heap dump in netbeans or visualvm
===> quando o CF trava ele escreve um arquivo no /bin. (sobreescreve o ultimo criado)
HPJmeter
. Capture method invocation data
. Identify lingering objects (mem leaks)
Not always about the code
. network issues - identify overload nic with task mgr, host issues (ping pathping), wireshark (packet listing)
. ports open (free extended task mgr).
. identify overload disk resources (check memory , cpu, processes, disk i/o)
. poorly configured database - capture a .trc file using sql profiler with 'tuning' profile selected (in production). Run .trc through database tuning advisor (available on sql standard or higher) and quickly locate database slow-downs, and even implement recommended fixes.
-- the more sample the better the result.
o tracer contem todas as execucoes que foram feitas naquele banco de dados durante o periodo capturado, o software ira executar essas operacoes e verificar onde estao os gargalos na db especificada.
in the end its all about user perception
. enable gzip compression of static site assets
. combine css and js for faster loading
. enable expiration tags for images, css, and js files for future date.
. use a tool like yslow to id user-side issues.
. testing with tools like jmeter can help you get a better user perspective on site performance.
Chris Peterson
www.alagad.com
cpeterson@alagad.com
(888) alagad4 ext 369
override11 twitter
ColdFUsion 9 OverView
Putz, quem esta dando a palestra é o indiano que fala indigles.
New in ColdFusion 9
CFPDF
New in ColdFusion 9
- Object Relation Mapping
- Portal Integration
- SOA
- Enhanced Ajax Tool Kit
- e outro que nao consegui anotar
- Performance
- Tags and built in funsctions
- Server Administrator
- Caching (page fragment caching), object cache
- UUID Key Generator
- New Search Engine with Soir (lucent based tec), faster indexing
- Improved Clustering (serialization of querys, arrays)
- Improve CFC creation & runtime
- Generated getter/setter CFCs
- Application cfc/cfm lookup order can be specified (avoid file seach on disk)
- UDFs in CFC can use buit in names
- Multiple assigments a=b=c=expr;
- Implicit arrat/struct in ternary expression (a>b ? c : d,c and d can be inline array or struct
- cfpdf
- cftransaction
CFPDF
- Size optimization
- Extract text & images
- Create PDF package
- Transform a PDF page
- Thumbnails generator
- Adding Watermark
- Name & destination attribute
- Add & Delete headers & Footers
- Add nestings attribute
- Helps calling others modules
- New Atributes in server administrators
- Added support signing the mail
- keystore
- others
- abort cfdump abort=true agora tem abort
- matainfo (show extra info)
- generated id colums
- New HTTP only atribute
- Can use HTTPS for better security
- Youtube upload
- MultupartType
- Array functions
- List functions
- File & Directory functions
- Object related
- isNULL
- array cintains
- arrayfind
- arrayfindnocase
- arraydelete
- takes new boolean atributes
- more functions to includeempytyfields
- List is a string
- Operation by tokenizing a list like java
- RAndom Access File
- FileOpen
- FileSeek
- FileSkipBytes
- Directory Create
- Directory List
- Directory Delete
- Directory Rename
- Object Save
- Object load
- Object Equals
- check null passed variable or expression
- Useful in ORM
- Faster alternative to isDefined
- No need quotes
- gets in memory file system metadata (enable, limit, used, free)
- Application Stop
- Application.cfc settings
- onServerStart
- onCFCRequest
- Datasource
- Ormenable
- ORM settings
- smtpServer settings
- Timeout
- debug ip address
- Google Map Key
- Enable robust exception
- Specify a CFC in admin with onServer Method
- Default to server on webroot
- Specify timeout
- cfhttp calls to itself not possible
- separate calls to cfm and cfc invocations
- Support Ajax & Flash Remoting calls
- Direct CFC calls, webservices calls pass-through
- New MySQL driver from database
- Query timeout data source
- a new admin property - disable autogenkeys
- added new undelivered mail manager
- setting summary can be saved as PDF
Geolocation
Geolocation é a identificação de localidades geográficas usando um device eletronico.
A palestra é sobre a identificação da posição do usuário para qualquer fim. Ex. maps, directions, marketing....
1. Métodos de detecção da posição.
Blablabla
2.Detectores / Conversores de dados de geolocation
geonames.org
ipinfodb.com
ip2location.com
maxmind.com
hostip.info
ipligence.com
3.Ferramentas para o coldfusion
InetAddressLocation
SimpleGeoCode no site da RiaForge
São ferramentas úteis para identificação do usuário.
Pode ser interessante para apresentar ao cara restaurantes ou vinhos mais próximos da localidade dele...
Acredito que quando tivermos o site a nivel nacional/internacional essas features podem ser mais úteis...
4. Tags do CF
[cf_gMap..
Nessa tag vc dá a sua chave do google api e mais um monte de parametros....
[cf_gMapMarker
No CF9 tem o CFMap
[cfmap...
vc bota cep, latitude, zoom, endereço, handlers para javascript, vistas de satelite/hibridas...
Se nao usar isso pode usar o Railo CFmap
Para Flex/Flash tem: http://www.adobe.com/devnet/flex/tourdeflex
http://code.google.com/apis/maps/documentation/flash
É palestra do mesmo russo (turco) daquela "super palestra do coldfusion escalavel".
Regular, essa cara é meio 171.
A palestra é sobre a identificação da posição do usuário para qualquer fim. Ex. maps, directions, marketing....
1. Métodos de detecção da posição.
Blablabla
2.Detectores / Conversores de dados de geolocation
geonames.org
ipinfodb.com
ip2location.com
maxmind.com
hostip.info
ipligence.com
3.Ferramentas para o coldfusion
InetAddressLocation
SimpleGeoCode no site da RiaForge
São ferramentas úteis para identificação do usuário.
Pode ser interessante para apresentar ao cara restaurantes ou vinhos mais próximos da localidade dele...
Acredito que quando tivermos o site a nivel nacional/internacional essas features podem ser mais úteis...
4. Tags do CF
[cf_gMap..
Nessa tag vc dá a sua chave do google api e mais um monte de parametros....
[cf_gMapMarker
No CF9 tem o CFMap
[cfmap...
vc bota cep, latitude, zoom, endereço, handlers para javascript, vistas de satelite/hibridas...
Se nao usar isso pode usar o Railo CFmap
Para Flex/Flash tem: http://www.adobe.com/devnet/flex/tourdeflex
http://code.google.com/apis/maps/documentation/flash
É palestra do mesmo russo (turco) daquela "super palestra do coldfusion escalavel".
Regular, essa cara é meio 171.
Assinar:
Comentários (Atom)