SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
1	
  1	
  
Performance	
  op,miza,on:	
  
scaling	
  a	
  hobby	
  project	
  to	
  
serious	
  business	
  
SPELIX.AT	
  
web	
  based	
  cave	
  management	
  
Let me take you onto a short journey …
3	
   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
… into a world below us …
4	
   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
… full of mystery …
5	
   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
… full of surprise …
6	
   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
… full of secrets …
7	
   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
A world to be discovered
8	
   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE
To be explored
9	
  9	
  
our	
  history	
  in	
  digital	
  cave	
  management	
  
• 1989:	
  first	
  PC	
  version:	
  survey	
  data	
  analysis,	
  simple	
  list	
  
generator	
  
• 1996:	
  database	
  version	
  based	
  on	
  MS	
  Access:	
  master	
  data,	
  tour	
  
reports,	
  extended	
  lists,	
  data	
  export	
  
• challenge:	
  mulM	
  user	
  capability	
  
• Import	
  /	
  export	
  files	
  distributed	
  via	
  email	
  /	
  disc	
  
• MySQL	
  database	
  on	
  webserver	
  
ODBC	
  client/server	
  connecMons	
  
• Originally	
  intended	
  for	
  1	
  (our)	
  caving	
  club	
  (Linz)	
  
• IntegraMon	
  of	
  the	
  HallstaX	
  club	
  
• 2006:	
  consideraMons	
  within	
  the	
  caver’s	
  associaMon	
  in	
  Austria	
  to	
  
use	
  a	
  web	
  database	
  as	
  the	
  base	
  for	
  the	
  Austrian	
  cave	
  directory	
  
10	
  10	
  
Spelix	
  1.0	
  
• 2008:	
  Web	
  frontend	
  
• HTML	
  /	
  JavaScript	
  
• Server:	
  LAMP	
  
11	
  11	
  
Spelix	
  2.0	
  
• Map	
  based	
  UI	
  (Google	
  Maps	
  API)	
  
• Extended	
  funMonality	
  
• Trip	
  reporMng	
  
• Survey	
  data	
  editor	
  
12	
  12	
  
a	
  growing	
  community	
  
• Established	
  as	
  the	
  Austrian	
  cave	
  
directory	
  
• Most	
  clubs	
  in	
  Austria	
  have	
  accounts	
  
(2012:	
  120)	
  
• Inquiry	
  from	
  Germany	
  to	
  use	
  Spelix	
  
for	
  “Schwäbische	
  Alb”	
  	
  
• Workshops,	
  trainings	
  
• Special	
  feature	
  requests	
  
• Changing	
  workflows	
  
• More	
  and	
  more	
  user	
  complaints	
  
• Complaints	
  regarding	
  performance	
  
• More	
  developers	
  !!!	
  	
  
Time for a new
major version ?
13	
  13	
  
Analyzing	
  Spelix	
  2.0	
  
Performance !
Are we able to
onboard more users ?
14	
  14	
  
From	
  the	
  user’s	
  perspec,ve	
  
So	
  what	
  does	
  that	
  mean	
  
in	
  detail	
  ?	
  
15	
  15	
  
networking	
  
• Create	
  container	
  files	
  for	
  CSS	
  and	
  JS	
  
• Use	
  sprites	
  for	
  icons	
  
HTTP Redirects
16	
  16	
  
Java	
  Script	
  
• showCave	
  is	
  the	
  hotspot	
  in	
  Java	
  Script	
  
17	
  17	
  
server	
  contribu,on	
  
• ‘getcaves’	
  is	
  our	
  server	
  side	
  hotspot	
  
18	
  18	
  
Server	
  side	
  transac,on	
  details	
  
• Always	
  load	
  
complete	
  list	
  of	
  cave	
  
groups	
  
• Always	
  load	
  
complete	
  list	
  of	
  caves	
  
for	
  selected	
  group	
  
• =>	
  lack	
  of	
  data	
  
caching	
  
19	
  19	
  
digging	
  into	
  getCaves…	
  
Time	
  to	
  check	
  the	
  database	
  !	
  
20	
  20	
  
Database	
  execu,on	
  plan	
  
Review	
  and	
  tune	
  
database	
  views	
  !	
  
21	
  21	
  
What	
  about	
  single	
  record	
  pages	
  ?	
  
22	
  22	
  
Hotspot	
  tour	
  reports	
  
23	
  23	
  
Considera,ons	
  for	
  a	
  new	
  version	
  
• Improve	
  user	
  experience	
  measures	
  
• Scale	
  system	
  for	
  extended	
  user	
  community	
  
• Flexible	
  data	
  structure	
  
• MulMmedia	
  integraMon	
  
• Mobile	
  environment	
  
• Development	
  environment	
  
• Google	
  API	
  V2	
  disconMnued	
  
24	
  24	
  
Spelix	
  3	
  
• New	
  map	
  window	
  (Leaflet	
  API)	
  
• Map	
  based	
  logic	
  
• Mobile	
  capability	
  
• Local	
  data	
  storage	
  
• Restructured	
  database	
  
• GPS	
  integraMon	
  
• Enhanced	
  document	
  management	
  
25	
  25	
  
First	
  impression	
  
• Looks	
  beXer	
  
• Network:	
  sMll	
  too	
  many	
  roundtrips	
  (css,	
  js,	
  images)	
  
• JavaScript:	
  well,	
  there	
  is	
  a	
  lot	
  to	
  do	
  on	
  the	
  page…	
  
26	
  26	
  
User	
  experience	
  
Let’s roll up our sleeves…
27	
  27	
  
Session	
  cache	
  
• select	
  *	
  from	
  sys2:	
  	
  
read	
  user	
  preferences	
  from	
  DB	
  
• Store	
  record	
  in	
  	
  
$_SESSION	
  
28	
  28	
  
Start	
  page	
  execu,on	
  plan	
  
29	
  29	
  
Usage	
  of	
  external	
  libraries	
  
Method invocations for /
Method invocations including Spyc
30	
  30	
  
AJAX	
  calls	
  from	
  main	
  page	
  
• /katgrp/browse:	
  784.59ms	
  
• /cave/browse/gis/$/katgrp/1626:	
  779.92ms	
  
• /katgrp/get/$/1626:	
  762.25ms££	
  
31	
  31	
  
/katgrp/browse	
  
32	
  32	
  
/cave/browse/gis/$/katgrp/1626	
  
33	
  33	
  
/katgrp/get/$/1626	
  
34	
  34	
  
Back	
  to	
  /cave/browse/gis/$/katgrp/1626	
  
35	
  35	
  
Sessions	
  in	
  PHP	
  
• session_start()	
  locks	
  the	
  file	
  where	
  session	
  data	
  are	
  
stored	
  
• Released	
  when	
  script	
  ends	
  
• Use	
  session_write_close()	
  to	
  unlock	
  the	
  file	
  before	
  
execuMng	
  slower	
  code	
  
• Or	
  create	
  your	
  own	
  	
  
save	
  handler	
  with	
  	
  
session_set_save_handler()	
  
36	
  36	
  
Looks	
  beWer	
  now…	
  
37	
  37	
  
But	
  …	
  
• Cave	
  groups	
  are	
  currently	
  not	
  held	
  in	
  LocalStorage	
  L	
  
• However	
  –	
  what	
  is	
  the	
  server	
  doing	
  ?	
  
38	
  38	
  
/katgrp/browse	
  server	
  side	
  execu,on	
  
And	
  again	
  it’s	
  Mme	
  to	
  	
  
check	
  the	
  database	
  !	
  
39	
  39	
  
From	
  the	
  DB	
  perspec,ve	
  
40	
  40	
  
We’re	
  geXng	
  there…	
  
• Cave	
  groups	
  are	
  sMll	
  not	
  held	
  in	
  LocalStorage	
  L	
  
• But	
  this	
  does	
  not	
  get	
  worse	
  with	
  more	
  data	
  
41	
  41	
  
Monitoring	
  the	
  system	
  
42	
  42	
  
Monitoring	
  ac,vity	
  
43	
  43	
  
User	
  ac,ons	
  
44	
  44	
  
Cave	
  group	
  access	
  
45	
  45	
  
Cave	
  access	
  
46	
  46	
  
A	
  cave	
  informa,on	
  system	
  ready	
  for	
  the	
  future	
  
47	
  47	
  
allowing	
  us	
  to	
  do	
  what	
  we	
  actually	
  want	
  to	
  do…	
  
48	
  48	
  
to	
  document	
  our	
  work…	
  
49	
  49	
  
to	
  visualize	
  our	
  results	
  …	
  
50	
  50	
  
and	
  leaving	
  us	
  ,me	
  for	
  other	
  important	
  du,es	
  
aZer	
  returning	
  from	
  the	
  cave…	
  	
  
51	
  51	
  
More	
  Informa,on,	
  free	
  products	
  
• Harald.Zeitlhofer@compuware.com	
  
• @HZeitlhofer	
  
	
  
• dynaTrace	
  Enterprise	
  
–  Full	
  End-­‐to-­‐End	
  Visibility	
  in	
  your	
  PHP,	
  Java,	
  .NET	
  Apps	
  
–  Sign	
  up	
  for	
  a	
  15	
  Days	
  Free	
  Trial	
  on	
  hXp://compuwareapm.com	
  	
  
	
  
• dynaTrace	
  AJAX	
  Edi=on	
  
–  Browser	
  DiagnosMcs	
  for	
  IE	
  +	
  FF	
  
–  Free	
  Download	
  @	
  hXp://ajax.dynatrace.com	
  	
  
• Blog:	
  hXp://apmblog.compuware.com	
  
52	
  
© 2011 Compuware Corporation — All Rights Reserved© 2011 Compuware Corporation — All Rights Reserved
52
ParMcipate	
  in	
  Compuware	
  
APM	
  	
  Discussion	
  Forums	
  
apmcommunity.compuware.com	
  
Like	
  us	
  on	
  Facebook	
  
facebook.com/CompuwareAPM	
  
Join	
  our	
  LinkedIn	
  group	
  
Compuware	
  APM	
  User	
  Group	
  
Follow	
  us	
  on	
  TwiWer	
  
twiXer.com/CompuwareAPM	
  
Read	
  our	
  Blog	
  
hXp://apmblog.compuware.com	
  	
  
Watch	
  our	
  Videos	
  &	
  	
  
product	
  Demos	
  
youtube.com/Compuware	
  
www.compuware.com/APM	
  
Thank You
53	
  
© 2011 Compuware Corporation — All Rights Reserved© 2011 Compuware Corporation — All Rights Reserved
53	
  

Más contenido relacionado

La actualidad más candente

The Database Sizing Workflow
The Database Sizing WorkflowThe Database Sizing Workflow
The Database Sizing WorkflowKristofferson A
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesNETWAYS
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted CloudColin Charles
 
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Labs
 
Reporting Large Environment Zabbix Database
Reporting Large Environment Zabbix DatabaseReporting Large Environment Zabbix Database
Reporting Large Environment Zabbix DatabaseAlain Ganuchaud
 
Varnish Configuration Step by Step
Varnish Configuration Step by StepVarnish Configuration Step by Step
Varnish Configuration Step by StepKim Stefan Lindholm
 
Spark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri SimsaSpark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri SimsaSpark Summit
 
Online Schema Changes for Maximizing Uptime
 Online Schema Changes for Maximizing Uptime Online Schema Changes for Maximizing Uptime
Online Schema Changes for Maximizing UptimePythian
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & howdotCloud
 
PXEless Discovery with Foreman
PXEless Discovery with ForemanPXEless Discovery with Foreman
PXEless Discovery with ForemanStephen Benjamin
 
MySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixMySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixFromDual GmbH
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins Colin Charles
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on NetscalerMark Hillick
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackMatt Ray
 

La actualidad más candente (15)

The Database Sizing Workflow
The Database Sizing WorkflowThe Database Sizing Workflow
The Database Sizing Workflow
 
OSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin CharlesOSDC 2016 - Tuning Linux for your Database by Colin Charles
OSDC 2016 - Tuning Linux for your Database by Colin Charles
 
MySQL in the Hosted Cloud
MySQL in the Hosted CloudMySQL in the Hosted Cloud
MySQL in the Hosted Cloud
 
Redis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis LabsRedis Day Keynote Salvatore Sanfillipo Redis Labs
Redis Day Keynote Salvatore Sanfillipo Redis Labs
 
Reporting Large Environment Zabbix Database
Reporting Large Environment Zabbix DatabaseReporting Large Environment Zabbix Database
Reporting Large Environment Zabbix Database
 
Varnish Configuration Step by Step
Varnish Configuration Step by StepVarnish Configuration Step by Step
Varnish Configuration Step by Step
 
Spark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri SimsaSpark Summit EU talk by Jiri Simsa
Spark Summit EU talk by Jiri Simsa
 
Online Schema Changes for Maximizing Uptime
 Online Schema Changes for Maximizing Uptime Online Schema Changes for Maximizing Uptime
Online Schema Changes for Maximizing Uptime
 
Automating Zabbix with Puppet (Werner Dijkerman / 26-11-2015)
Automating Zabbix with Puppet (Werner Dijkerman / 26-11-2015)Automating Zabbix with Puppet (Werner Dijkerman / 26-11-2015)
Automating Zabbix with Puppet (Werner Dijkerman / 26-11-2015)
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
 
PXEless Discovery with Foreman
PXEless Discovery with ForemanPXEless Discovery with Foreman
PXEless Discovery with Foreman
 
MySQL Monitoring with Zabbix
MySQL Monitoring with ZabbixMySQL Monitoring with Zabbix
MySQL Monitoring with Zabbix
 
Cool MariaDB Plugins
Cool MariaDB Plugins Cool MariaDB Plugins
Cool MariaDB Plugins
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
Australian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStackAustralian OpenStack User Group August 2012: Chef for OpenStack
Australian OpenStack User Group August 2012: Chef for OpenStack
 

Destacado

Customer journey mcb 2015
Customer journey mcb 2015Customer journey mcb 2015
Customer journey mcb 2015Edwin Vlems
 
자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709Soon Il Kwon
 
20140709 세월호가족대책위 416특별법제정입법청원서
20140709 세월호가족대책위 416특별법제정입법청원서20140709 세월호가족대책위 416특별법제정입법청원서
20140709 세월호가족대책위 416특별법제정입법청원서Soon Il Kwon
 
распределение по 849-пп
распределение по 849-ппраспределение по 849-пп
распределение по 849-ппAnastasia Vinogradova
 
Implications Enclosure and Privatization of the Commons on Women’s Access to ...
Implications Enclosure and Privatization of the Commons on Women’s Access to ...Implications Enclosure and Privatization of the Commons on Women’s Access to ...
Implications Enclosure and Privatization of the Commons on Women’s Access to ...UNDP in Asia and the Pacific
 
MakersLab - Začínáme s 3D tiskem
MakersLab - Začínáme s 3D tiskem MakersLab - Začínáme s 3D tiskem
MakersLab - Začínáme s 3D tiskem Tomas Michalek
 
Procesadores
ProcesadoresProcesadores
ProcesadoresSamyMP
 
JhonessBurg South Africa
JhonessBurg South Africa JhonessBurg South Africa
JhonessBurg South Africa Adil Khan
 
Calculo Proposicional. Estructura Discreta
Calculo Proposicional. Estructura Discreta Calculo Proposicional. Estructura Discreta
Calculo Proposicional. Estructura Discreta Luizei Arias
 
FEMTOprint Corporate Brochure
FEMTOprint Corporate BrochureFEMTOprint Corporate Brochure
FEMTOprint Corporate BrochureSofia Taufer
 
Panel ii b commercialisation and privations, rebecca monson, powerpoint
Panel ii b commercialisation and privations, rebecca monson, powerpointPanel ii b commercialisation and privations, rebecca monson, powerpoint
Panel ii b commercialisation and privations, rebecca monson, powerpointUNDP in Asia and the Pacific
 
отчет о социально экономическом развитии и реализации государственных програм...
отчет о социально экономическом развитии и реализации государственных програм...отчет о социально экономическом развитии и реализации государственных програм...
отчет о социально экономическом развитии и реализации государственных програм...Anastasia Vinogradova
 
отчет о выполнении 2013 г.
отчет о выполнении 2013 г.отчет о выполнении 2013 г.
отчет о выполнении 2013 г.Anastasia Vinogradova
 
세월호 특별법-해설자료집
세월호 특별법-해설자료집세월호 특별법-해설자료집
세월호 특별법-해설자료집Soon Il Kwon
 
6a Music Video Comparison
6a Music Video Comparison 6a Music Video Comparison
6a Music Video Comparison WillJonesGCSE
 

Destacado (20)

Customer journey mcb 2015
Customer journey mcb 2015Customer journey mcb 2015
Customer journey mcb 2015
 
자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709자료집 416특별법국민설명회 20140709
자료집 416특별법국민설명회 20140709
 
20140709 세월호가족대책위 416특별법제정입법청원서
20140709 세월호가족대책위 416특별법제정입법청원서20140709 세월호가족대책위 416특별법제정입법청원서
20140709 세월호가족대책위 416특별법제정입법청원서
 
Arabic gsm
Arabic gsmArabic gsm
Arabic gsm
 
распределение по 849-пп
распределение по 849-ппраспределение по 849-пп
распределение по 849-пп
 
Implications Enclosure and Privatization of the Commons on Women’s Access to ...
Implications Enclosure and Privatization of the Commons on Women’s Access to ...Implications Enclosure and Privatization of the Commons on Women’s Access to ...
Implications Enclosure and Privatization of the Commons on Women’s Access to ...
 
MakersLab - Začínáme s 3D tiskem
MakersLab - Začínáme s 3D tiskem MakersLab - Začínáme s 3D tiskem
MakersLab - Začínáme s 3D tiskem
 
Procesadores
ProcesadoresProcesadores
Procesadores
 
JhonessBurg South Africa
JhonessBurg South Africa JhonessBurg South Africa
JhonessBurg South Africa
 
Calculo Proposicional. Estructura Discreta
Calculo Proposicional. Estructura Discreta Calculo Proposicional. Estructura Discreta
Calculo Proposicional. Estructura Discreta
 
FEMTOprint Corporate Brochure
FEMTOprint Corporate BrochureFEMTOprint Corporate Brochure
FEMTOprint Corporate Brochure
 
Panel ii b commercialisation and privations, rebecca monson, powerpoint
Panel ii b commercialisation and privations, rebecca monson, powerpointPanel ii b commercialisation and privations, rebecca monson, powerpoint
Panel ii b commercialisation and privations, rebecca monson, powerpoint
 
Система электронного документооборота IRM classicDoc («Золушка»)
Система электронного документооборота IRM classicDoc («Золушка»)Система электронного документооборота IRM classicDoc («Золушка»)
Система электронного документооборота IRM classicDoc («Золушка»)
 
отчет о социально экономическом развитии и реализации государственных програм...
отчет о социально экономическом развитии и реализации государственных програм...отчет о социально экономическом развитии и реализации государственных програм...
отчет о социально экономическом развитии и реализации государственных програм...
 
отчет о выполнении 2013 г.
отчет о выполнении 2013 г.отчет о выполнении 2013 г.
отчет о выполнении 2013 г.
 
What the people need to do for a
What the people need to do for aWhat the people need to do for a
What the people need to do for a
 
세월호 특별법-해설자료집
세월호 특별법-해설자료집세월호 특별법-해설자료집
세월호 특별법-해설자료집
 
Tisk bez tiskárny
Tisk bez tiskárnyTisk bez tiskárny
Tisk bez tiskárny
 
6a Music Video Comparison
6a Music Video Comparison 6a Music Video Comparison
6a Music Video Comparison
 
Kings Boston On Campus
Kings Boston On CampusKings Boston On Campus
Kings Boston On Campus
 

Similar a Performance optimisation - scaling a hobby project to serious business

Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissmacslide
 
Latest Developments in H2O
Latest Developments in H2OLatest Developments in H2O
Latest Developments in H2OSri Ambati
 
GPU cloud with Job scheduler and Container
GPU cloud with Job scheduler and ContainerGPU cloud with Job scheduler and Container
GPU cloud with Job scheduler and ContainerAndrew Yongjoon Kong
 
Couchbase Connect 2016
Couchbase Connect 2016Couchbase Connect 2016
Couchbase Connect 2016Michael Kehoe
 
C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...
C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...
C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...DataStax Academy
 
Cloud Device Insecurity
Cloud Device InsecurityCloud Device Insecurity
Cloud Device InsecurityJeremy Brown
 
TryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsTryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsAnne Gentle
 
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNAFirst Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNATomas Cervenka
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...DataStax Academy
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsJulien Anguenot
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data EngineeringC4Media
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPDaniel Zivkovic
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Subbu Rama
 
Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkNico Meisenzahl
 
Membase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San FranciscoMembase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San FranciscoMembase
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelDaniel Coupal
 
OpenIDM - Flexible Provisioning Platform - April 28 Webinar
OpenIDM - Flexible Provisioning Platform - April 28 WebinarOpenIDM - Flexible Provisioning Platform - April 28 Webinar
OpenIDM - Flexible Provisioning Platform - April 28 WebinarForgeRock
 

Similar a Performance optimisation - scaling a hobby project to serious business (20)

Dibi Conference 2012
Dibi Conference 2012Dibi Conference 2012
Dibi Conference 2012
 
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management blissStupid Boot Tricks: using ipxe and chef to get to boot management bliss
Stupid Boot Tricks: using ipxe and chef to get to boot management bliss
 
Latest Developments in H2O
Latest Developments in H2OLatest Developments in H2O
Latest Developments in H2O
 
GPU cloud with Job scheduler and Container
GPU cloud with Job scheduler and ContainerGPU cloud with Job scheduler and Container
GPU cloud with Job scheduler and Container
 
Couchbase Connect 2016
Couchbase Connect 2016Couchbase Connect 2016
Couchbase Connect 2016
 
C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...
C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...
C* Summit 2013: Real-time Analytics using Cassandra, Spark and Shark by Evan ...
 
Cloud Device Insecurity
Cloud Device InsecurityCloud Device Insecurity
Cloud Device Insecurity
 
TryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and AdminsTryStack: A Sandbox for OpenStack Users and Admins
TryStack: A Sandbox for OpenStack Users and Admins
 
The data layer
The data layerThe data layer
The data layer
 
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNAFirst Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
First Hive Meetup London 2012-07-10 - Tomas Cervenka - VisualDNA
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 
Future of Data Engineering
Future of Data EngineeringFuture of Data Engineering
Future of Data Engineering
 
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCPSimpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
Simpler, faster, cheaper Enterprise Apps using only Spring Boot on GCP
 
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures Bitfusion Nimbix Dev Summit Heterogeneous Architectures
Bitfusion Nimbix Dev Summit Heterogeneous Architectures
 
Social Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections PinkSocial Connections 13 - Troubleshooting Connections Pink
Social Connections 13 - Troubleshooting Connections Pink
 
Membase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San FranciscoMembase Intro from Membase Meetup San Francisco
Membase Intro from Membase Meetup San Francisco
 
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The SequelSilicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
Silicon Valley Code Camp 2015 - Advanced MongoDB - The Sequel
 
Securing Hadoop @eBay
Securing Hadoop @eBaySecuring Hadoop @eBay
Securing Hadoop @eBay
 
OpenIDM - Flexible Provisioning Platform - April 28 Webinar
OpenIDM - Flexible Provisioning Platform - April 28 WebinarOpenIDM - Flexible Provisioning Platform - April 28 Webinar
OpenIDM - Flexible Provisioning Platform - April 28 Webinar
 

Más de Harald Zeitlhofer

Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!Harald Zeitlhofer
 
Boost your website by running PHP on Nginx
Boost your website by running PHP on NginxBoost your website by running PHP on Nginx
Boost your website by running PHP on NginxHarald Zeitlhofer
 
PHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxPHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxHarald Zeitlhofer
 
Running PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtnRunning PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtnHarald Zeitlhofer
 
PHP App Performance / Sydney PHP
PHP App Performance / Sydney PHPPHP App Performance / Sydney PHP
PHP App Performance / Sydney PHPHarald Zeitlhofer
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceHarald Zeitlhofer
 
Nginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixNginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixHarald Zeitlhofer
 

Más de Harald Zeitlhofer (16)

Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!Slow Database in your PHP stack? Don't blame the DBA!
Slow Database in your PHP stack? Don't blame the DBA!
 
Scaling PHP web apps
Scaling PHP web appsScaling PHP web apps
Scaling PHP web apps
 
PHP and databases
PHP and databasesPHP and databases
PHP and databases
 
Boost your website by running PHP on Nginx
Boost your website by running PHP on NginxBoost your website by running PHP on Nginx
Boost your website by running PHP on Nginx
 
Running PHP on Nginx
Running PHP on NginxRunning PHP on Nginx
Running PHP on Nginx
 
Improve Magento Performance
Improve Magento PerformanceImprove Magento Performance
Improve Magento Performance
 
PHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on NginxPHP conference Berlin 2015: running PHP on Nginx
PHP conference Berlin 2015: running PHP on Nginx
 
Running PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtnRunning PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtn
 
PHP App Performance / Sydney PHP
PHP App Performance / Sydney PHPPHP App Performance / Sydney PHP
PHP App Performance / Sydney PHP
 
Running PHP on nginx
Running PHP on nginxRunning PHP on nginx
Running PHP on nginx
 
PHP application performance
PHP application performancePHP application performance
PHP application performance
 
PHP Application Performance
PHP Application PerformancePHP Application Performance
PHP Application Performance
 
Running php on nginx
Running php on nginxRunning php on nginx
Running php on nginx
 
Nginx performance monitoring with Dynatrace
Nginx performance monitoring with DynatraceNginx performance monitoring with Dynatrace
Nginx performance monitoring with Dynatrace
 
Nginx, PHP, Apache and Spelix
Nginx, PHP, Apache and SpelixNginx, PHP, Apache and Spelix
Nginx, PHP, Apache and Spelix
 
Nginx, PHP and Node.js
Nginx, PHP and Node.jsNginx, PHP and Node.js
Nginx, PHP and Node.js
 

Último

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Último (20)

Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Performance optimisation - scaling a hobby project to serious business

  • 1. 1  1   Performance  op,miza,on:   scaling  a  hobby  project  to   serious  business   SPELIX.AT   web  based  cave  management  
  • 2. Let me take you onto a short journey …
  • 3. 3   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE … into a world below us …
  • 4. 4   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE … full of mystery …
  • 5. 5   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE … full of surprise …
  • 6. 6   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE … full of secrets …
  • 7. 7   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE A world to be discovered
  • 8. 8   COMPANY CONFIDENTIAL – DO NOT DISTRIBUTE To be explored
  • 9. 9  9   our  history  in  digital  cave  management   • 1989:  first  PC  version:  survey  data  analysis,  simple  list   generator   • 1996:  database  version  based  on  MS  Access:  master  data,  tour   reports,  extended  lists,  data  export   • challenge:  mulM  user  capability   • Import  /  export  files  distributed  via  email  /  disc   • MySQL  database  on  webserver   ODBC  client/server  connecMons   • Originally  intended  for  1  (our)  caving  club  (Linz)   • IntegraMon  of  the  HallstaX  club   • 2006:  consideraMons  within  the  caver’s  associaMon  in  Austria  to   use  a  web  database  as  the  base  for  the  Austrian  cave  directory  
  • 10. 10  10   Spelix  1.0   • 2008:  Web  frontend   • HTML  /  JavaScript   • Server:  LAMP  
  • 11. 11  11   Spelix  2.0   • Map  based  UI  (Google  Maps  API)   • Extended  funMonality   • Trip  reporMng   • Survey  data  editor  
  • 12. 12  12   a  growing  community   • Established  as  the  Austrian  cave   directory   • Most  clubs  in  Austria  have  accounts   (2012:  120)   • Inquiry  from  Germany  to  use  Spelix   for  “Schwäbische  Alb”     • Workshops,  trainings   • Special  feature  requests   • Changing  workflows   • More  and  more  user  complaints   • Complaints  regarding  performance   • More  developers  !!!     Time for a new major version ?
  • 13. 13  13   Analyzing  Spelix  2.0   Performance ! Are we able to onboard more users ?
  • 14. 14  14   From  the  user’s  perspec,ve   So  what  does  that  mean   in  detail  ?  
  • 15. 15  15   networking   • Create  container  files  for  CSS  and  JS   • Use  sprites  for  icons   HTTP Redirects
  • 16. 16  16   Java  Script   • showCave  is  the  hotspot  in  Java  Script  
  • 17. 17  17   server  contribu,on   • ‘getcaves’  is  our  server  side  hotspot  
  • 18. 18  18   Server  side  transac,on  details   • Always  load   complete  list  of  cave   groups   • Always  load   complete  list  of  caves   for  selected  group   • =>  lack  of  data   caching  
  • 19. 19  19   digging  into  getCaves…   Time  to  check  the  database  !  
  • 20. 20  20   Database  execu,on  plan   Review  and  tune   database  views  !  
  • 21. 21  21   What  about  single  record  pages  ?  
  • 22. 22  22   Hotspot  tour  reports  
  • 23. 23  23   Considera,ons  for  a  new  version   • Improve  user  experience  measures   • Scale  system  for  extended  user  community   • Flexible  data  structure   • MulMmedia  integraMon   • Mobile  environment   • Development  environment   • Google  API  V2  disconMnued  
  • 24. 24  24   Spelix  3   • New  map  window  (Leaflet  API)   • Map  based  logic   • Mobile  capability   • Local  data  storage   • Restructured  database   • GPS  integraMon   • Enhanced  document  management  
  • 25. 25  25   First  impression   • Looks  beXer   • Network:  sMll  too  many  roundtrips  (css,  js,  images)   • JavaScript:  well,  there  is  a  lot  to  do  on  the  page…  
  • 26. 26  26   User  experience   Let’s roll up our sleeves…
  • 27. 27  27   Session  cache   • select  *  from  sys2:     read  user  preferences  from  DB   • Store  record  in     $_SESSION  
  • 28. 28  28   Start  page  execu,on  plan  
  • 29. 29  29   Usage  of  external  libraries   Method invocations for / Method invocations including Spyc
  • 30. 30  30   AJAX  calls  from  main  page   • /katgrp/browse:  784.59ms   • /cave/browse/gis/$/katgrp/1626:  779.92ms   • /katgrp/get/$/1626:  762.25ms££  
  • 34. 34  34   Back  to  /cave/browse/gis/$/katgrp/1626  
  • 35. 35  35   Sessions  in  PHP   • session_start()  locks  the  file  where  session  data  are   stored   • Released  when  script  ends   • Use  session_write_close()  to  unlock  the  file  before   execuMng  slower  code   • Or  create  your  own     save  handler  with     session_set_save_handler()  
  • 36. 36  36   Looks  beWer  now…  
  • 37. 37  37   But  …   • Cave  groups  are  currently  not  held  in  LocalStorage  L   • However  –  what  is  the  server  doing  ?  
  • 38. 38  38   /katgrp/browse  server  side  execu,on   And  again  it’s  Mme  to     check  the  database  !  
  • 39. 39  39   From  the  DB  perspec,ve  
  • 40. 40  40   We’re  geXng  there…   • Cave  groups  are  sMll  not  held  in  LocalStorage  L   • But  this  does  not  get  worse  with  more  data  
  • 41. 41  41   Monitoring  the  system  
  • 42. 42  42   Monitoring  ac,vity  
  • 43. 43  43   User  ac,ons  
  • 44. 44  44   Cave  group  access  
  • 45. 45  45   Cave  access  
  • 46. 46  46   A  cave  informa,on  system  ready  for  the  future  
  • 47. 47  47   allowing  us  to  do  what  we  actually  want  to  do…  
  • 48. 48  48   to  document  our  work…  
  • 49. 49  49   to  visualize  our  results  …  
  • 50. 50  50   and  leaving  us  ,me  for  other  important  du,es   aZer  returning  from  the  cave…    
  • 51. 51  51   More  Informa,on,  free  products   • Harald.Zeitlhofer@compuware.com   • @HZeitlhofer     • dynaTrace  Enterprise   –  Full  End-­‐to-­‐End  Visibility  in  your  PHP,  Java,  .NET  Apps   –  Sign  up  for  a  15  Days  Free  Trial  on  hXp://compuwareapm.com       • dynaTrace  AJAX  Edi=on   –  Browser  DiagnosMcs  for  IE  +  FF   –  Free  Download  @  hXp://ajax.dynatrace.com     • Blog:  hXp://apmblog.compuware.com  
  • 52. 52   © 2011 Compuware Corporation — All Rights Reserved© 2011 Compuware Corporation — All Rights Reserved 52 ParMcipate  in  Compuware   APM    Discussion  Forums   apmcommunity.compuware.com   Like  us  on  Facebook   facebook.com/CompuwareAPM   Join  our  LinkedIn  group   Compuware  APM  User  Group   Follow  us  on  TwiWer   twiXer.com/CompuwareAPM   Read  our  Blog   hXp://apmblog.compuware.com     Watch  our  Videos  &     product  Demos   youtube.com/Compuware   www.compuware.com/APM   Thank You
  • 53. 53   © 2011 Compuware Corporation — All Rights Reserved© 2011 Compuware Corporation — All Rights Reserved 53