SlideShare a Scribd company logo
1 of 50
Download to read offline
Copyright	
  ©	
  2014	
  Splunk	
  Inc.	
  
Julian	
  Harty	
  
SE,	
  Splunk>	
  
Search	
  Op@miza@on	
  
in	
  500	
  easy	
  steps	
  
	
  
Disclaimer	
  
2	
  
During	
  the	
  course	
  of	
  this	
  presenta@on,	
  we	
  may	
  make	
  forward	
  looking	
  statements	
  regarding	
  future	
  events	
  or	
  the	
  
expected	
  performance	
  of	
  the	
  company.	
  We	
  cau@on	
  you	
  that	
  such	
  statements	
  reflect	
  our	
  current	
  expecta@ons	
  and	
  
es@mates	
  based	
  on	
  factors	
  currently	
  known	
  to	
  us	
  and	
  that	
  actual	
  events	
  or	
  results	
  could	
  differ	
  materially.	
  For	
  
important	
  factors	
  that	
  may	
  cause	
  actual	
  results	
  to	
  differ	
  from	
  those	
  contained	
  in	
  our	
  forward-­‐looking	
  statements,	
  
please	
  review	
  our	
  filings	
  with	
  the	
  SEC.	
  The	
  forward-­‐looking	
  statements	
  made	
  in	
  the	
  this	
  presenta@on	
  are	
  being	
  made	
  as	
  
of	
  the	
  @me	
  and	
  date	
  of	
  its	
  live	
  presenta@on.	
  If	
  reviewed	
  aSer	
  its	
  live	
  presenta@on,	
  this	
  presenta@on	
  may	
  not	
  contain	
  
current	
  or	
  accurate	
  informa@on.	
  We	
  do	
  not	
  assume	
  any	
  obliga@on	
  to	
  update	
  any	
  forward	
  looking	
  statements	
  we	
  may	
  
make.	
  In	
  addi@on,	
  any	
  informa@on	
  about	
  our	
  roadmap	
  outlines	
  our	
  general	
  product	
  direc@on	
  and	
  is	
  subject	
  to	
  change	
  
at	
  any	
  @me	
  without	
  no@ce.	
  It	
  is	
  for	
  informa@onal	
  purposes	
  only	
  and	
  shall	
  not,	
  be	
  incorporated	
  into	
  any	
  contract	
  or	
  
other	
  commitment.	
  Splunk	
  undertakes	
  no	
  obliga@on	
  either	
  to	
  develop	
  the	
  features	
  or	
  func@onality	
  described	
  or	
  to	
  
include	
  any	
  such	
  feature	
  or	
  func@onality	
  in	
  a	
  future	
  release.	
  
Am	
  I	
  in	
  the	
  right	
  Session…	
  
	
  and	
  Who	
  is	
  this	
  guy?	
  
3	
  
Goal	
  of	
  Presenta:on:	
  Search	
  Op:miza:on	
  
•  How	
  the	
  hell	
  do	
  I	
  speed	
  this	
  search	
  up?	
  
	
  	
  
Background	
  of	
  your	
  Presenter:	
  Julian	
  Harty	
  
•  Splunker	
  for	
  2+	
  Years	
  -­‐	
  Variety	
  of	
  installa@ons	
  from	
  10GB	
  
to	
  100TB’s+	
  
•  Ex-­‐Oracle/MySQL	
  DBA	
  (Recovering)	
  
•  Contact	
  info	
  julian@splunk.com	
  	
  
Background	
  –	
  Great	
  to	
  Not	
  So	
  Great	
  
Growth	
  without	
  op@miza@on	
  =	
  subop@mal	
  performance	
  	
  
-­‐>	
  our	
  goal:	
  gejng	
  great	
  performance	
  at	
  scale	
  
4	
  
•  More	
  Data	
  
•  More	
  Users	
  
•  New	
  Searches	
  
	
   •  Even	
  More	
  Data	
  
•  Even	
  More	
  Users	
  
•  Even	
  More	
  Searches…	
  
	
  
Op@miza@on	
  
Steps	
  
	
  
Challenge	
  –	
  Why	
  so	
  slow?	
  	
  
The	
  maturity	
  of	
  a	
  Splunk	
  deployment	
  	
  	
  
5	
  
	
  
	
  
Question?	

Is your environment tuned
correctly?	
  
Question?	

Has your deployment 	

been architected
correctly?	

	

Question?	

Are your searches optimized?	

Solution:	

Architecting And
Designing Your Splunk
Deployment	

- Simeon Yep	

	
  
Solution:	

Jiffy Lube Quick Tune Up For	

Your Splunk Environment	

– Sean Delaney	

Solution:	

Welcome to this session!!!
Agenda:	
  Objec@ves	
  of	
  this	
  Session	
  
6	
  
•  The	
  Basics:	
  	
  
•  Common	
  pinalls	
  -­‐	
  Best	
  prac@ces	
  and	
  what	
  not	
  to	
  do	
  
•  Take	
  away:	
  Basic	
  steps	
  to	
  a	
  beoer	
  search	
  
	
  
•  Beyond	
  the	
  Basics:	
  	
  
•  Search	
  Architecture	
  and	
  Workflow	
  
•  Detailed	
  Search	
  review	
  –	
  using	
  Job	
  inspector	
  search	
  examples	
  
•  Take	
  away:	
  Job	
  Inspector	
  Cheat-­‐Sheet	
  
	
  
•  Q&A	
  
Iden@fying	
  
Poorly	
  Performing	
  
Searches	
  
End	
  User	
  Enquiries	
  
8	
  
SOS	
  –	
  Expensive	
  Searches	
  
Search	
  Ac@vity,	
  Usage	
  Paoerns	
  
-­‐>	
  SOS	
  –>	
  Search	
  -­‐>	
  Search	
  Detail	
  Ac@vity	
  -­‐>	
  Expensive	
  Searches	
  
	
  
9	
  
For	
  Splunk	
  6.2	
  Users	
  –	
  _Introspec@on	
  Index	
  
10	
  
Search	
  Tuning	
  –	
  
The	
  Basics	
  
The	
  Basics:	
  Common	
  Search	
  Behavior	
  
12	
  
>	
  be=selec@ve	
  AND	
  be=specific	
  |	
  …	
  
Narrow	
  @me	
  range	
  
>	
  foo	
  bar	
  
>	
  host=web	
  sourcetype=access*	
  
Use	
  Summary	
  Indexing	
  
Use	
  Report	
  Accel	
  or	
  Summary	
  Indexing	
  
Use	
  Fast/Smart	
  Mode	
  where	
  Possible	
  
Bad	
  Behavior	
   Good	
  Behavior	
  
	
  
Performance	
  	
  
Improvement	
  
Comment	
  
index=xyz	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  10-­‐50%	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Index	
  and	
  default	
  fields	
  
source=www	
  
-­‐24h@h 	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  365x	
  30x	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Limit	
  Time	
  Range	
  
>	
  foo	
  bar	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  30%	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Combine	
  Searches	
  
Fast/Smart 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  20-­‐50% 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Fast	
  Mode	
  
A	
  AND	
  C	
  AND	
  D	
  AND	
  E	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  5-­‐50%	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Avoid	
  NOTS	
  
Data	
  Models	
  and	
  Report	
  
Accelera@on	
  
Summary	
  Indexing	
  
	
  
All	
  Time	
  Searches	
  
>*	
  
>	
  foo	
  |	
  search	
  bar	
  
Verbose	
  Mode	
  
Use	
  Intelligently	
  
Use	
  Sparingly	
  
	
  
1000%	
  
1000%	
  
Searches	
  over	
  	
  
large	
  datasets	
  
	
  
Searches	
  over	
  long	
  periods	
  
	
  
A	
  NOT	
  B	
  
	
  
The	
  Basics:	
  Common	
  Op@miza@on	
  Mistakes	
  
13	
  
•  Summary	
  indexing	
  is	
  Awesome!	
  
–  Ini@al	
  reac@on	
  -­‐	
  Summarize	
  EVERYTHING!!!	
  
ê  Summarizing	
  too	
  much	
  data	
  negates	
  the	
  point	
  
	
  
•  Report	
  Accelerate	
  =	
  Turbo	
  buoon	
  
–  Ini@al	
  reac@on	
  -­‐	
  Report	
  Accelerate	
  EVERYTHING!!!	
  
ê  Too	
  many	
  searches	
  =	
  skipped	
  search	
  issues	
  
	
   •  Data	
  Models	
  are	
  the	
  answer!	
  
–  Ini@al	
  reac@on	
  –	
  everything	
  can	
  be	
  included!	
  
ê  Convoluted	
  data	
  models	
  can	
  increase	
  workload	
  	
  
	
  
OK,	
  But	
  How	
  can	
  
you	
  enforce	
  these	
  
recommenda@ons?	
  
How	
  do	
  you	
  enforce	
  Best	
  Prac@ces?	
  
15	
  
Architect	
  Perspec:ve:	
  
•  User	
  educa@on	
  –	
  Best	
  Prac@ces	
  for	
  Users	
  	
  
	
  
Admin	
  Perspec:ve:	
  
Restric@ng	
  User	
  Controls:	
  Pulling	
  in	
  the	
  reins	
  
•  Restric@ng	
  Role	
  Capabili@es	
  
•  Limit	
  index	
  
•  Limit	
  search	
  terms	
  
•  Limit	
  search	
  @me	
  range	
  
•  Limi@ng	
  Power	
  user	
  role	
  
•  Restrict	
  Number	
  of	
  RT+	
  Concurrent	
  Searches	
  
	
  
How	
  do	
  you	
  enforce	
  Best	
  Prac@ces?	
  
16	
  
Admin	
  Perspec:ve:	
  
•  Time	
  range	
  defaults	
  (ui-­‐prefs.conf)	
  
•  Time	
  range	
  Web	
  dropdown	
  op@ons	
  (Times.conf)	
  
	
  
OK	
  Now	
  More	
  
advanced	
  
Op@miza@on:	
  Lets	
  
start	
  with	
  -­‐	
  the	
  
skinny	
  on	
  How	
  
Search	
  Works…	
  
How	
  Search	
  Works	
  –	
  Physical	
  Perspec@ve	
  
18	
  
	
  	
  
db_lt_et_4	
  
db_lt_et_2	
  
	
  	
  
db_lt_et_1	
  
db_lt_et_3	
  
.tsidx	
  
Sources.data	
  
SourceTypes.data	
  
Hosts.data	
  
.gz	
  
.gz	
  
.gz	
  
.gz	
  
.gz	
  
.gz	
  
.gz	
  
.gz	
  
db_1290057665_1289504696_1	
  history	
  
_internal	
  
main	
  
How	
  Search	
  Works	
  -­‐	
  Logically	
  
Search	
  Query	
  Structure	
  
Parse,	
  Fetch,	
  Summarize,	
  Display	
  
19	
  
Index=mydata	
  |	
  eval	
  loc=long+lat+alt	
  |	
  stats	
  count	
  
retrieve	
  events	
   filter/transform/map	
  
Splunk	
  Distributed	
  Search	
  
20	
  
4	
  Steps	
  to	
  a	
  Splunk	
  Search:	
  
Parse,	
  Fetch,	
  Summarize,	
  Display	
  
" StreamingCommand:	
  Applies	
  a	
  
transforma@on	
  to	
  search	
  results	
  
as	
  they	
  travel	
  through	
  the	
  
processing	
  pipeline.	
  Eval	
  rex	
  
where…	
  
" Repor:ngCommand:	
  Processes	
  
search	
  results	
  and	
  generates	
  a	
  
repor@ng	
  data	
  structure.	
  
Examples:	
  stats,	
  top,	
  and	
  
@mechart…	
  
Types	
  of	
  Searches	
  
21	
  
•  Dense	
  
–  Low	
  cardinality	
  
–  Example:	
  sourcetype=access	
  method=GET	
  
•  Sparse	
  
–  High	
  cardinality	
  
–  Example:	
  sourcetype=access	
  method=GET	
  ac@on=purchase	
  
•  Super	
  Sparse	
  (or	
  Needle	
  in	
  a	
  Haystack)	
  
–  Very	
  high	
  cardinality	
  
–  Example:	
  sourcetype=cisco:asa	
  ac@on=denied	
  src=10.2.3.11	
  
•  Rare	
  	
  
–  Use	
  Case:	
  user	
  behavior	
  tracking	
  
–  Example:	
  sourcetype=magicsource	
  |	
  rare	
  
	
  
Dense	
  
Super	
  
Sparse	
  
Sparse	
  
Dense	
  Searches	
  (>10%	
  matching	
  results)	
  
(scanCount	
  vs	
  eventCount	
  in	
  Job	
  Inspector)	
  
22	
  
Challenge:	
  
•  CPU	
  and	
  I/O-­‐bound	
  
–  Ini@al	
  spike	
  in	
  CPU	
  due	
  to	
  decompression	
  	
  
	
  of	
  raw	
  events.	
  	
  
–  Retrieval	
  rate:	
  50K	
  events	
  per	
  second	
  per	
  server	
  
Solu:on:	
  
•  Divide	
  and	
  conquer	
  
–  Distribute	
  search	
  to	
  an	
  indexing	
  cluster	
  
–  Parallel	
  compute	
  and	
  merge	
  results	
  
•  Report	
  Accelera@on	
  or	
  use	
  of	
  Summaries	
  –	
  divide	
  and	
  Conquer	
  
–  Report	
  on	
  summarized	
  data	
  vs.	
  raw	
  data	
  
>	
  sourcetype=access_combined	
  method=GET	
  
Sparse	
  Searches	
  
23	
  
Challenge:	
  
•  CPU-­‐bound	
  
–  Dominant	
  cost	
  is	
  uncompressing	
  *.gz	
  raw	
  data	
  files	
  
–  Some@mes	
  need	
  to	
  read	
  far	
  into	
  a	
  file	
  to	
  retrieve	
  a	
  few	
  events	
  
Solu:on:	
  
•  Avoid	
  cherry	
  picking	
  
–  Be	
  selec@ve	
  about	
  exclusions	
  (avoid	
  “NOT foo”	
  or	
  “field!=value”)	
  
–  Leverage	
  indexed	
  fields	
  
•  Filter	
  using	
  whole	
  terms	
  
–  Instead	
  of	
  	
  > sourcetype=access_combined clientip=192.168.11.*!
–  Use	
  	
  > sourcetype=access_combined clientip=TERM(192.168.11.2)!
>	
  sourcetype=access_combined	
  status=404	
  
Super	
  Sparse	
  Searches	
  
24	
  
•  “Needle	
  in	
  Haystack”	
  	
  
•  Very	
  I/O	
  intensive	
  
•  May	
  take	
  up	
  to	
  2	
  Seconds	
  	
  
	
  to	
  parse	
  each	
  bucket	
  
>	
  sourcetype=access_combined	
  status=404	
  10.2.1	
  
Rare	
  Term	
  Searches	
  
25	
  
•  Bloom	
  Filters*	
  
–  Bloom	
  filters	
  stored	
  in	
  each	
  bucket	
  
–  50-­‐buckets	
  processed	
  per	
  second	
  
–  I/Os	
  reduced	
  as	
  buckets	
  are	
  excluded	
  from	
  100-­‐200	
  to	
  just	
  a	
  few	
  
–  50-­‐100x	
  faster	
  than	
  Super	
  Sparse	
  searches	
  on	
  conven@onal	
  storage,	
  
>1000x	
  faster	
  on	
  SSD	
  (Due	
  to	
  random	
  reads)	
  
>	
  sourcetype=access_combined	
  sessionID=1234	
  
*	
  A	
  Bloom	
  filter	
  is	
  a	
  data	
  structure	
  designed	
  to	
  tell	
  
you	
  whether	
  or	
  not	
  an	
  element	
  is	
  present	
  in	
  a	
  set	
  
How	
  can	
  I	
  determine	
  if	
  my	
  search	
  is	
  Dense	
  or	
  Sparse?	
  
Use	
  Job	
  Inspector…	
  
26	
  
Component	
   Descrip:on	
  
	
  
scanCount	
   The	
  number	
  of	
  events	
  that	
  are	
  scanned	
  or	
  read	
  off	
  disk.	
  	
  
eventCount	
   Number	
  of	
  events	
  that	
  are	
  returned	
  to	
  base	
  search	
  
•  For	
  dense	
  searches	
  scanCount	
  ~=	
  eventCount.	
  
•  For	
  sparse	
  searches,	
  scanCount	
  >>	
  eventCount.	
  
>	
  sourcetype=access_combined	
  
status=404	
  81.11.191.113	
  
Job	
  Inspector	
  
Review	
  
Measuring	
  Search	
  
Using	
  the	
  Splunk	
  Search	
  Inspector 	
  	
  
28	
  Copyright*©*2011,*Splunk*Inc.* Listen*to
*
Using*the*Search*Inspector*
3*
Timings*from*distributed*
Remote*timeline*
Timings*from*the*search*
command.*
Timings	
  from	
  
distributed	
  peers	
  
Timings	
  from	
  
the	
  search	
  command	
  
*
Using*the*Search*Inspector*
Timings*from*distributed*p
Remote*timeline*
Timings*from*the*search*
command.*
Key	
  Metrics:	
  
•  Comple@on	
  Time	
  
•  Number	
  of	
  Events	
  
Scanned	
  
•  Search	
  SID	
  
	
  
Job	
  Inspector	
  
Job	
  Inspector	
  Walkthrough	
  –	
  Search	
  Command	
  
29	
  
Rawdata:	
  	
  
Improving	
  I/O	
  and	
  CPU	
  load	
  
	
  
KV:	
  	
  
Are	
  field	
  extrac@ons	
  efficient	
  
	
  
Lookups:	
  	
  
Used	
  appropriately	
  
Autolookups	
  causing	
  issues	
  
	
  
Typer:	
  
Inefficient	
  Evenoypes	
  
	
  
Alias:	
  
Cascading	
  alias	
  
	
  
Reading	
  Job	
  Inspector	
  -­‐	
  	
  Search.Index	
  
30	
  
Search.index	
  =	
  
Time	
  to	
  parse	
  and	
  read	
  the	
  tsidx	
  files	
  to	
  
determine	
  where	
  to	
  read	
  in	
  rawdata	
  
	
  
How	
  do	
  you	
  op:mize	
  this?	
  
•  Improving	
  I/O	
  
Reading	
  Job	
  Inspector	
  -­‐	
  	
  search.rawdata	
  
31	
  
Search.rawdata	
  =	
  	
  
Time	
  to	
  read	
  actual	
  events	
  from	
  
rawdata	
  files	
  
	
  
How	
  do	
  you	
  op:mize	
  this?	
  
•  Filtering	
  as	
  much	
  as	
  possible	
  
•  Add	
  Peers	
  
•  Alloca@ng	
  more	
  CPU,	
  improving	
  I/O	
  
	
  
	
  
Reading	
  Job	
  Inspector	
  -­‐	
  	
  search.kv	
  
32	
  
Search.KV=	
  
Time	
  taken	
  to	
  apply	
  field	
  extrac@ons	
  
to	
  events	
  
	
  
How	
  do	
  you	
  op:mize	
  this?	
  
Regex	
  op@miza@ons	
  
•  Avoid	
  greedy	
  operators	
  .*?	
  
•  Use	
  of	
  Anchors	
  ^	
  $	
  
•  Non	
  Capturing	
  groups	
  for	
  repeats	
  
	
  
	
  
	
  
	
  
Reading	
  Job	
  Inspector	
  -­‐	
  	
  search.lookups	
  
33	
  
Search.lookups	
  =	
  	
  
Time	
  to	
  apply	
  lookups	
  to	
  search	
  
	
  
How	
  do	
  you	
  op:mize	
  this?	
  
•  Use	
  Appropriately	
  (at	
  end	
  of	
  search)	
  
•  Autolookups	
  maybe	
  causing	
  issues	
  
	
  
	
  
Reading	
  Job	
  Inspector	
  -­‐	
  	
  search.typer	
  and	
  tags	
  
34	
  
Search.typer	
  =	
  	
  
Time	
  to	
  apply	
  event	
  types	
  to	
  the	
  
search	
  
	
  
How	
  do	
  you	
  op:mize	
  this?	
  
•  Use	
  Appropriately	
  
•  Removed	
  unused	
  tags	
  and	
  
evenoypes	
  
	
  
	
  
Job	
  Inspector	
  Walkthrough	
  –	
  Distributed	
  Search	
  
35	
  
Dispatch.createProviderQueue	
  
Time	
  to	
  establish	
  connec@on	
  with	
  peers	
  
	
  
Dispatch.fetch	
  
Time	
  spent	
  wai@ng	
  to	
  fetch	
  events	
  
	
  
Dispatch.evaluate	
  
The	
  @me	
  spent	
  parsing	
  the	
  search	
  and	
  
sejng	
  up	
  the	
  data	
  structures	
  needed	
  to	
  run	
  
the	
  search.	
  	
  
	
  
How	
  do	
  you	
  op:mize	
  this?	
  
•  Improving	
  Peer	
  conduc@vity	
  
•  Improve	
  Bundle	
  replica@on	
  
•  Faster	
  storage	
  
	
  
Job	
  Inspector	
  Walkthrough	
  –	
  Distributed	
  Search	
  
36	
  
Dispatch.stream.remote	
  
Time	
  to	
  retrieve	
  events	
  from	
  each	
  remove	
  
peer	
  
	
  
Issue:	
  
1.  Unequal	
  Indexer	
  performance	
  
•  Either	
  Hardware	
  mismatch	
  
•  Uneven	
  distribu@on	
  of	
  indexes	
  
2.  AutoLB	
  issues	
  
	
  
Job	
  Inspector	
  Conclusions:	
  
Search	
  Command	
  Summary	
  
37	
  
Component	
   Descrip:on	
  
	
  
index	
   look	
  in	
  tsidx	
  files	
  for	
  where	
  to	
  read	
  in	
  rawdata	
  
rawdata	
   read	
  actual	
  events	
  from	
  rawdata	
  files	
  
kv	
   apply	
  fields	
  to	
  the	
  events	
  
filter	
   filter	
  out	
  events	
  that	
  don’t	
  match	
  (e.g.,	
  fields,	
  phrases)	
  
alias	
   rename	
  fields	
  according	
  to	
  props.conf	
  
lookups	
   create	
  new	
  fields	
  based	
  on	
  exis@ng	
  field	
  values	
  
typer	
   assign	
  evenoypes	
  to	
  events	
  
tags	
   assign	
  tags	
  to	
  events	
  
Job	
  Inspector	
  Conclusion:	
  
Distributed	
  Search	
  Summary	
  
38	
  
Metric	
   Descrip:on	
  
	
  
Area	
  to	
  review	
  
createProvider
Queue	
  	
  
The	
  @me	
  to	
  connect	
  to	
  all	
  search	
  
peers.	
  	
   Peer	
  conduc@vity	
  
fetch	
  	
   The	
  @me	
  spent	
  wai@ng	
  for	
  or	
  
fetching	
  events	
  from	
  search	
  peers.	
  	
   Faster	
  Storage	
  
stream.remote	
  	
   The	
  @me	
  spent	
  execu@ng	
  the	
  
remote	
  search	
  in	
  a	
  distributed	
  
search	
  environment,	
  aggregated	
  
across	
  all	
  peers.	
  
evaluate	
   The	
  @me	
  spent	
  parsing	
  the	
  search	
  
and	
  sejng	
  up	
  the	
  data	
  structures	
  
needed	
  to	
  run	
  the	
  search.	
  	
  
Possible	
  bundle	
  issues	
  
Addi@onal	
  Key	
  Logfiles	
  related	
  to	
  search	
  
39	
  
Search	
  log:	
  
"   Stored	
  in	
  $SPLUNK_HOME/var/run/splunk/dispatch/	
  
"   Detailed	
  analysis	
  of	
  every	
  step	
  taken	
  by	
  the	
  search	
  	
  
"   Search	
  ‘stack	
  trace’	
  
What	
  is	
  the	
  best	
  
search	
  command	
  to	
  
use?	
  
Stats	
  vs	
  Transac@on	
  
41	
  
Search	
  Goal:	
  compute	
  sta@s@cs	
  on	
  the	
  dura@on	
  of	
  web	
  session	
  
(JSESSIONID=unique	
  iden@fier):	
  
	
  
	
  
>	
  |	
  stats	
  range(_@me)	
  as	
  dura@on	
  by	
  JSESSIONID	
  
|	
  chart	
  count	
  by	
  dura@on	
  span=log2	
  	
  
>	
  sourcetype=access_combined	
  |	
  transac@on	
  
JSESSIONID	
  |	
  chart	
  count	
  by	
  dura@on	
  
span=log2	
  
Not	
  so	
  Great:	
  
Much	
  BeUer:	
  
Dedup	
  vs	
  Latest	
  
42	
  
Search	
  Goal:	
  Return	
  latest	
  cart	
  ac@on	
  for	
  each	
  web	
  site	
  customer	
  
	
  
	
  
>	
  sourcetype=access*	
  |	
  stats	
  latest(clien@p)	
  by	
  
ac@on	
  
>	
  sourcetype=access*|	
  dedup	
  clien@p	
  sortby	
  -­‐
_@me	
  |table	
  clien@p,	
  ac@on	
  
Not	
  so	
  Great:	
  
Much	
  BeUer:	
  
Note:	
  dedup	
  can't	
  be	
  
used	
  with	
  report	
  
accelera@on	
  
Joins	
  and	
  Subsearches	
  
43	
  
Search	
  Goal:	
  Return	
  latest	
  JESSIONID	
  across	
  two	
  sourcetypes	
  
	
  
	
  
>	
  (sourcetype="access_combined")	
  OR	
  
(sourcetype="applogs")	
  |	
  stats	
  latest(*)	
  as	
  *	
  by	
  
JSESSIONID	
  
>	
  sourcetype="access_combined"	
  |	
  join	
  type="inner"	
  
JSESSIONID	
  [search	
  sourcetype="applogs"	
  |	
  dedup	
  
JSESSIONID	
  |	
  table	
  JSESSIONID,	
  clien@p,	
  othervalue]	
  
Not	
  so	
  Great:	
  
Much	
  BeUer:	
  
Wrap-­‐up	
  
In	
  Closing…	
  
45	
  
1.  Implemen@ng	
  Architecture	
  best	
  prac@ces	
  for	
  performance	
  at	
  scale	
  
•  With	
  search	
  behavior	
  in	
  mind…	
  
2.  Implemen@ng	
  User	
  Onboarding	
  Best	
  Prac@ces	
  
•  Basic	
  op@miza@on	
  steps	
  
3.  Periodic	
  Performance	
  Review	
  	
  
•  Applying	
  accelera@on	
  technologies	
  where	
  appropriate	
  
•  Removing	
  unused	
  searches	
  
	
  
4.  Review	
  addi@onal	
  sides	
  for	
  
•  Search	
  flow	
  detail	
  
•  Op@mizing	
  Splunk	
  Web	
  
	
  
And	
  By	
  the	
  way…	
  
46	
  
Other	
  Sessions	
  to	
  look	
  out	
  for:	
  
•  How	
  to	
  Actually	
  Use	
  Splunk	
  Data	
  Models	
  -­‐	
  David	
  Clawson	
  
	
   	
  Presented	
  on	
  Tuesday	
  –	
  Check	
  out	
  the	
  session	
  notes	
  
	
  
•  Jiffy	
  Lube	
  Tune-­‐Up	
  for	
  your	
  Splunk	
  Deployment	
  -­‐	
  Sean	
  Delaney	
  
	
  Presented	
  on	
  Tuesday	
  –	
  Check	
  out	
  the	
  session	
  notes	
  
	
  
•  ArchitecCng	
  and	
  Sizing	
  your	
  Splunk	
  Environment	
  -­‐	
  Simeon	
  Yep	
  
	
   	
  2:15-­‐3:15	
  Today	
  
	
  
•  Splunk	
  Search	
  AcceleraCon	
  Technologies	
  –	
  Gerald	
  Kanapathy 	
  
	
  10:30-­‐11:30	
  Tomorrow	
  
	
  
My	
  Contact	
  informa:on:	
  
julian@splunk.com	
  @julian_Harty	
  
	
  
THANK	
  YOU	
  
Take	
  Away:	
  Basic	
  Steps	
  to	
  a	
  beoer	
  search	
  
48	
  
•  Avoid	
  use	
  of	
  *	
  where	
  ever	
  possible.	
  
•  Avoid	
  the	
  use	
  of	
  All	
  Time.	
  
•  Avoid	
  subsearches	
  searches.	
  
•  Incorporate	
  the	
  use	
  default	
  fields	
  (source,	
  sourcetype,	
  host)	
  as	
  
well	
  as	
  specific	
  indexes	
  to	
  every	
  search	
  (where	
  possible).	
  
•  Use	
  Fast	
  or	
  Smart	
  mode	
  where	
  possible	
  avoid	
  ‘Verbose’	
  mode.	
  
•  Use	
  Report	
  Accelera@on	
  Sparingly	
  (and	
  Strategically)	
  on	
  reports	
  
on	
  large	
  datasets.	
  
•  Use	
  Summary	
  Indexing	
  when	
  building	
  reports	
  over	
  @me	
  spans	
  
beyond	
  target	
  index	
  reten@on.	
  
•  Use	
  Job	
  Inspector	
  and	
  Search	
  inspector	
  to	
  get	
  more	
  info	
  (hold	
  on	
  
for	
  more	
  details!!!)	
  
A	
  few	
  notes	
  on	
  how	
  to	
  op@mize	
  Splunk	
  Web	
  	
  
49	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  |	
  fields	
  
Change	
  
Segmenta@on	
  
Use	
  Fast	
  Mode	
  Collapse	
  
Timeline	
  
Search	
  flow	
  –	
  Local	
  and	
  Distributed	
  
50	
  
Key	
  Files:	
  
•  Info	
  
•  Status	
  
•  Results	
  
•  Preview	
  
Key	
  Flow:	
  
1.  Find	
  which	
  Bundle	
  to	
  use	
  
2.  Find	
  Buckets	
  to	
  use	
  (@me	
  range)	
  
3.  LISPY	
  TSIDX	
  search	
  	
  
4.  Process	
  +	
  Summarizes	
  Events	
  
hop://wiki.splunk.com/Community:HowDistSearchWorks	
  
	
  

More Related Content

What's hot

Splunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdfSplunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdfnitinscribd
 
Splunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection ArchitectureSplunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection ArchitectureSplunk
 
Data Onboarding Breakout Session
Data Onboarding Breakout SessionData Onboarding Breakout Session
Data Onboarding Breakout SessionSplunk
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...Altinity Ltd
 
Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...
Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...
Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...confluent
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with SplunkSplunk
 
Using ClickHouse for Experimentation
Using ClickHouse for ExperimentationUsing ClickHouse for Experimentation
Using ClickHouse for ExperimentationGleb Kanterov
 
Splunk Distributed Management Console
Splunk Distributed Management Console                                         Splunk Distributed Management Console
Splunk Distributed Management Console Splunk
 
Splunk App for Stream
Splunk App for StreamSplunk App for Stream
Splunk App for StreamSplunk
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...Altinity Ltd
 
SplunkLive! Data Models 101
SplunkLive! Data Models 101SplunkLive! Data Models 101
SplunkLive! Data Models 101Splunk
 
Splunk for IT Operations
Splunk for IT OperationsSplunk for IT Operations
Splunk for IT OperationsSplunk
 
Google Dataflow Intro
Google Dataflow IntroGoogle Dataflow Intro
Google Dataflow IntroIvan Glushkov
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryJeff Potts
 
Worst Splunk practices...and how to fix them
Worst Splunk practices...and how to fix themWorst Splunk practices...and how to fix them
Worst Splunk practices...and how to fix themSplunk
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with  Apache Pulsar and Apache PinotBuilding a Real-Time Analytics Application with  Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with Apache Pulsar and Apache PinotAltinity Ltd
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingDataWorks Summit
 
Apache Spark's Built-in File Sources in Depth
Apache Spark's Built-in File Sources in DepthApache Spark's Built-in File Sources in Depth
Apache Spark's Built-in File Sources in DepthDatabricks
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseDatabricks
 
Splunk Enterprise Security
Splunk Enterprise SecuritySplunk Enterprise Security
Splunk Enterprise SecuritySplunk
 

What's hot (20)

Splunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdfSplunk 6.4 Administration.pdf
Splunk 6.4 Administration.pdf
 
Splunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection ArchitectureSplunk Data Onboarding Overview - Splunk Data Collection Architecture
Splunk Data Onboarding Overview - Splunk Data Collection Architecture
 
Data Onboarding Breakout Session
Data Onboarding Breakout SessionData Onboarding Breakout Session
Data Onboarding Breakout Session
 
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...HTTP Analytics for 6M requests per second using ClickHouse, by  Alexander Boc...
HTTP Analytics for 6M requests per second using ClickHouse, by Alexander Boc...
 
Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...
Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...
Machine Learning on Streaming Data using Kafka, Beam, and TensorFlow (Mikhail...
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 
Using ClickHouse for Experimentation
Using ClickHouse for ExperimentationUsing ClickHouse for Experimentation
Using ClickHouse for Experimentation
 
Splunk Distributed Management Console
Splunk Distributed Management Console                                         Splunk Distributed Management Console
Splunk Distributed Management Console
 
Splunk App for Stream
Splunk App for StreamSplunk App for Stream
Splunk App for Stream
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
 
SplunkLive! Data Models 101
SplunkLive! Data Models 101SplunkLive! Data Models 101
SplunkLive! Data Models 101
 
Splunk for IT Operations
Splunk for IT OperationsSplunk for IT Operations
Splunk for IT Operations
 
Google Dataflow Intro
Google Dataflow IntroGoogle Dataflow Intro
Google Dataflow Intro
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
Worst Splunk practices...and how to fix them
Worst Splunk practices...and how to fix themWorst Splunk practices...and how to fix them
Worst Splunk practices...and how to fix them
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with  Apache Pulsar and Apache PinotBuilding a Real-Time Analytics Application with  Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data Processing
 
Apache Spark's Built-in File Sources in Depth
Apache Spark's Built-in File Sources in DepthApache Spark's Built-in File Sources in Depth
Apache Spark's Built-in File Sources in Depth
 
Common Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta LakehouseCommon Strategies for Improving Performance on Your Delta Lakehouse
Common Strategies for Improving Performance on Your Delta Lakehouse
 
Splunk Enterprise Security
Splunk Enterprise SecuritySplunk Enterprise Security
Splunk Enterprise Security
 

Viewers also liked

Conf2014_SplunkSecurityNinjutsu
Conf2014_SplunkSecurityNinjutsuConf2014_SplunkSecurityNinjutsu
Conf2014_SplunkSecurityNinjutsuSplunk
 
Splunk conf2014 - Curating User Experience
Splunk conf2014 - Curating User ExperienceSplunk conf2014 - Curating User Experience
Splunk conf2014 - Curating User ExperienceSplunk
 
Cisco UCS and Splunk Workshop
Cisco UCS and Splunk WorkshopCisco UCS and Splunk Workshop
Cisco UCS and Splunk WorkshopRobb Boyd
 
SplunkLive! Zürich 2016 - Use Case Swisscom
SplunkLive! Zürich 2016 - Use Case SwisscomSplunkLive! Zürich 2016 - Use Case Swisscom
SplunkLive! Zürich 2016 - Use Case SwisscomSplunk
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding Splunk
 
Taking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – ArchitectureTaking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – ArchitectureSplunk
 
SplunkLive 2011 Beginners Session
SplunkLive 2011 Beginners SessionSplunkLive 2011 Beginners Session
SplunkLive 2011 Beginners SessionSplunk
 
Splunk conf2014 - Operationalizing Advanced Threat Defense
Splunk conf2014 - Operationalizing Advanced Threat DefenseSplunk conf2014 - Operationalizing Advanced Threat Defense
Splunk conf2014 - Operationalizing Advanced Threat DefenseSplunk
 
Design, Build and Map IT and Business Services in Splunk
Design, Build and Map IT and Business Services in SplunkDesign, Build and Map IT and Business Services in Splunk
Design, Build and Map IT and Business Services in SplunkSplunk
 
IT Service Intelligence Hands On
IT Service Intelligence Hands OnIT Service Intelligence Hands On
IT Service Intelligence Hands OnSplunk
 
Splunk for DevOps - Faster Insights - Better Code
Splunk for DevOps - Faster Insights - Better CodeSplunk for DevOps - Faster Insights - Better Code
Splunk for DevOps - Faster Insights - Better CodePhilipp Drieger
 
Using Splunk for Information Security
Using Splunk for Information SecurityUsing Splunk for Information Security
Using Splunk for Information SecuritySplunk
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunk
 
SplunkLive! Analytics with Splunk Enterprise - Part 2
SplunkLive! Analytics with Splunk Enterprise - Part 2SplunkLive! Analytics with Splunk Enterprise - Part 2
SplunkLive! Analytics with Splunk Enterprise - Part 2Splunk
 
Getting Started With Splunk It Service Intelligence
Getting Started With Splunk It Service IntelligenceGetting Started With Splunk It Service Intelligence
Getting Started With Splunk It Service IntelligenceSplunk
 
SplunkLive Sydney Enterprise Security & User Behaviour Analytics
SplunkLive Sydney Enterprise Security & User Behaviour AnalyticsSplunkLive Sydney Enterprise Security & User Behaviour Analytics
SplunkLive Sydney Enterprise Security & User Behaviour AnalyticsSplunk
 
SplunkSummit 2015 - Security Ninjitsu
SplunkSummit 2015 - Security NinjitsuSplunkSummit 2015 - Security Ninjitsu
SplunkSummit 2015 - Security NinjitsuSplunk
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with SplunkSplunk
 

Viewers also liked (20)

Conf2014_SplunkSecurityNinjutsu
Conf2014_SplunkSecurityNinjutsuConf2014_SplunkSecurityNinjutsu
Conf2014_SplunkSecurityNinjutsu
 
Splunk conf2014 - Curating User Experience
Splunk conf2014 - Curating User ExperienceSplunk conf2014 - Curating User Experience
Splunk conf2014 - Curating User Experience
 
Exploring Splunk
Exploring SplunkExploring Splunk
Exploring Splunk
 
Cisco UCS and Splunk Workshop
Cisco UCS and Splunk WorkshopCisco UCS and Splunk Workshop
Cisco UCS and Splunk Workshop
 
SplunkLive! Zürich 2016 - Use Case Swisscom
SplunkLive! Zürich 2016 - Use Case SwisscomSplunkLive! Zürich 2016 - Use Case Swisscom
SplunkLive! Zürich 2016 - Use Case Swisscom
 
Data Onboarding
Data Onboarding Data Onboarding
Data Onboarding
 
Taking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – ArchitectureTaking Splunk to the Next Level – Architecture
Taking Splunk to the Next Level – Architecture
 
SplunkLive 2011 Beginners Session
SplunkLive 2011 Beginners SessionSplunkLive 2011 Beginners Session
SplunkLive 2011 Beginners Session
 
Splunk conf2014 - Operationalizing Advanced Threat Defense
Splunk conf2014 - Operationalizing Advanced Threat DefenseSplunk conf2014 - Operationalizing Advanced Threat Defense
Splunk conf2014 - Operationalizing Advanced Threat Defense
 
Design, Build and Map IT and Business Services in Splunk
Design, Build and Map IT and Business Services in SplunkDesign, Build and Map IT and Business Services in Splunk
Design, Build and Map IT and Business Services in Splunk
 
IT Service Intelligence Hands On
IT Service Intelligence Hands OnIT Service Intelligence Hands On
IT Service Intelligence Hands On
 
Splunk for DevOps - Faster Insights - Better Code
Splunk for DevOps - Faster Insights - Better CodeSplunk for DevOps - Faster Insights - Better Code
Splunk for DevOps - Faster Insights - Better Code
 
Using Splunk for Information Security
Using Splunk for Information SecurityUsing Splunk for Information Security
Using Splunk for Information Security
 
SplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use CaseSplunkLive! Frankfurt 2016 - Helvetia Use Case
SplunkLive! Frankfurt 2016 - Helvetia Use Case
 
SplunkLive! Analytics with Splunk Enterprise - Part 2
SplunkLive! Analytics with Splunk Enterprise - Part 2SplunkLive! Analytics with Splunk Enterprise - Part 2
SplunkLive! Analytics with Splunk Enterprise - Part 2
 
Getting Started With Splunk It Service Intelligence
Getting Started With Splunk It Service IntelligenceGetting Started With Splunk It Service Intelligence
Getting Started With Splunk It Service Intelligence
 
CHIME Lead Forum - Seattle 2015
CHIME Lead Forum - Seattle 2015CHIME Lead Forum - Seattle 2015
CHIME Lead Forum - Seattle 2015
 
SplunkLive Sydney Enterprise Security & User Behaviour Analytics
SplunkLive Sydney Enterprise Security & User Behaviour AnalyticsSplunkLive Sydney Enterprise Security & User Behaviour Analytics
SplunkLive Sydney Enterprise Security & User Behaviour Analytics
 
SplunkSummit 2015 - Security Ninjitsu
SplunkSummit 2015 - Security NinjitsuSplunkSummit 2015 - Security Ninjitsu
SplunkSummit 2015 - Security Ninjitsu
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 

Similar to Conf2014_SplunkSearchOptimization

Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)Salesforce Partners
 
SPUnite17 IT Pros Guide to Managing SharePoint Search
SPUnite17 IT Pros Guide to Managing SharePoint SearchSPUnite17 IT Pros Guide to Managing SharePoint Search
SPUnite17 IT Pros Guide to Managing SharePoint SearchNCCOMMS
 
Hypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking GrowthHypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking GrowthPrabhat Gupta
 
Power of Splunk Search Processing Language (SPL) ...
Power of Splunk Search Processing Language (SPL)                             ...Power of Splunk Search Processing Language (SPL)                             ...
Power of Splunk Search Processing Language (SPL) ...Splunk
 
Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...
Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...
Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...Georg Knon
 
Process Wind Tunnel in Insurance
Process Wind Tunnel in InsuranceProcess Wind Tunnel in Insurance
Process Wind Tunnel in InsuranceSudhendu Rai
 
Performance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexPerformance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexSalesforce Developers
 
Replicating One Billion Records with Minimal API Usage
Replicating One Billion Records with Minimal API UsageReplicating One Billion Records with Minimal API Usage
Replicating One Billion Records with Minimal API UsageSalesforce Developers
 
Splunk for Machine Learning and Analytics
Splunk for Machine Learning and AnalyticsSplunk for Machine Learning and Analytics
Splunk for Machine Learning and AnalyticsSplunk
 
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull lucenerevolution
 
SplunkLive! Hunk Technical Deep Dive
SplunkLive! Hunk Technical Deep DiveSplunkLive! Hunk Technical Deep Dive
SplunkLive! Hunk Technical Deep DiveSplunk
 
Splunk live! ninjas_break-out
Splunk live! ninjas_break-outSplunk live! ninjas_break-out
Splunk live! ninjas_break-outSplunk
 
Fast Data Overview for Data Science Maryland Meetup
Fast Data Overview for Data Science Maryland MeetupFast Data Overview for Data Science Maryland Meetup
Fast Data Overview for Data Science Maryland MeetupC. Scyphers
 
Power of SPL Breakout Session
Power of SPL Breakout SessionPower of SPL Breakout Session
Power of SPL Breakout SessionSplunk
 
SplunkLive! Advanced Session
SplunkLive! Advanced SessionSplunkLive! Advanced Session
SplunkLive! Advanced SessionSplunk
 
Managing and Troubleshooting SharePoint 2013 Search
Managing and Troubleshooting SharePoint 2013 SearchManaging and Troubleshooting SharePoint 2013 Search
Managing and Troubleshooting SharePoint 2013 SearchAgnes Molnar
 
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...Tom Rieger
 
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...Tracy Blackburn
 
Power of SPL Breakout Session
Power of SPL Breakout SessionPower of SPL Breakout Session
Power of SPL Breakout SessionSplunk
 

Similar to Conf2014_SplunkSearchOptimization (20)

Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
Avoid Growing Pains: Scale Your App for the Enterprise (October 14, 2014)
 
SPUnite17 IT Pros Guide to Managing SharePoint Search
SPUnite17 IT Pros Guide to Managing SharePoint SearchSPUnite17 IT Pros Guide to Managing SharePoint Search
SPUnite17 IT Pros Guide to Managing SharePoint Search
 
Hypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking GrowthHypothesis-Driven Development & How to Fail-Fast Hacking Growth
Hypothesis-Driven Development & How to Fail-Fast Hacking Growth
 
Power of Splunk Search Processing Language (SPL) ...
Power of Splunk Search Processing Language (SPL)                             ...Power of Splunk Search Processing Language (SPL)                             ...
Power of Splunk Search Processing Language (SPL) ...
 
Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...
Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...
Splunk Webinar: Mit Splunk SPL Maschinendaten durchsuchen, transformieren und...
 
Process Wind Tunnel in Insurance
Process Wind Tunnel in InsuranceProcess Wind Tunnel in Insurance
Process Wind Tunnel in Insurance
 
Large Data Management Strategies
Large Data Management StrategiesLarge Data Management Strategies
Large Data Management Strategies
 
Performance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and ApexPerformance Tuning for Visualforce and Apex
Performance Tuning for Visualforce and Apex
 
Replicating One Billion Records with Minimal API Usage
Replicating One Billion Records with Minimal API UsageReplicating One Billion Records with Minimal API Usage
Replicating One Billion Records with Minimal API Usage
 
Splunk for Machine Learning and Analytics
Splunk for Machine Learning and AnalyticsSplunk for Machine Learning and Analytics
Splunk for Machine Learning and Analytics
 
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull Just the Job: Employing Solr for Recruitment Search -Charlie Hull
Just the Job: Employing Solr for Recruitment Search -Charlie Hull
 
SplunkLive! Hunk Technical Deep Dive
SplunkLive! Hunk Technical Deep DiveSplunkLive! Hunk Technical Deep Dive
SplunkLive! Hunk Technical Deep Dive
 
Splunk live! ninjas_break-out
Splunk live! ninjas_break-outSplunk live! ninjas_break-out
Splunk live! ninjas_break-out
 
Fast Data Overview for Data Science Maryland Meetup
Fast Data Overview for Data Science Maryland MeetupFast Data Overview for Data Science Maryland Meetup
Fast Data Overview for Data Science Maryland Meetup
 
Power of SPL Breakout Session
Power of SPL Breakout SessionPower of SPL Breakout Session
Power of SPL Breakout Session
 
SplunkLive! Advanced Session
SplunkLive! Advanced SessionSplunkLive! Advanced Session
SplunkLive! Advanced Session
 
Managing and Troubleshooting SharePoint 2013 Search
Managing and Troubleshooting SharePoint 2013 SearchManaging and Troubleshooting SharePoint 2013 Search
Managing and Troubleshooting SharePoint 2013 Search
 
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
 
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
Webcast slides for "Low Risk and High Reward in App Decomm with InfoArchive a...
 
Power of SPL Breakout Session
Power of SPL Breakout SessionPower of SPL Breakout Session
Power of SPL Breakout Session
 

More from Splunk

.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routineSplunk
 
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTVSplunk
 
.conf Go 2023 - Navegando la normativa SOX (Telefónica)
.conf Go 2023 - Navegando la normativa SOX (Telefónica).conf Go 2023 - Navegando la normativa SOX (Telefónica)
.conf Go 2023 - Navegando la normativa SOX (Telefónica)Splunk
 
.conf Go 2023 - Raiffeisen Bank International
.conf Go 2023 - Raiffeisen Bank International.conf Go 2023 - Raiffeisen Bank International
.conf Go 2023 - Raiffeisen Bank InternationalSplunk
 
.conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett
.conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett .conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett
.conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett Splunk
 
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär).conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)Splunk
 
.conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu...
.conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu....conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu...
.conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu...Splunk
 
.conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever...
.conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever....conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever...
.conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever...Splunk
 
.conf go 2023 - De NOC a CSIRT (Cellnex)
.conf go 2023 - De NOC a CSIRT (Cellnex).conf go 2023 - De NOC a CSIRT (Cellnex)
.conf go 2023 - De NOC a CSIRT (Cellnex)Splunk
 
conf go 2023 - El camino hacia la ciberseguridad (ABANCA)
conf go 2023 - El camino hacia la ciberseguridad (ABANCA)conf go 2023 - El camino hacia la ciberseguridad (ABANCA)
conf go 2023 - El camino hacia la ciberseguridad (ABANCA)Splunk
 
Splunk - BMW connects business and IT with data driven operations SRE and O11y
Splunk - BMW connects business and IT with data driven operations SRE and O11ySplunk - BMW connects business and IT with data driven operations SRE and O11y
Splunk - BMW connects business and IT with data driven operations SRE and O11ySplunk
 
Splunk x Freenet - .conf Go Köln
Splunk x Freenet - .conf Go KölnSplunk x Freenet - .conf Go Köln
Splunk x Freenet - .conf Go KölnSplunk
 
Splunk Security Session - .conf Go Köln
Splunk Security Session - .conf Go KölnSplunk Security Session - .conf Go Köln
Splunk Security Session - .conf Go KölnSplunk
 
Data foundations building success, at city scale – Imperial College London
 Data foundations building success, at city scale – Imperial College London Data foundations building success, at city scale – Imperial College London
Data foundations building success, at city scale – Imperial College LondonSplunk
 
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...Splunk
 
SOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security WebinarSOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security WebinarSplunk
 
.conf Go 2022 - Observability Session
.conf Go 2022 - Observability Session.conf Go 2022 - Observability Session
.conf Go 2022 - Observability SessionSplunk
 
.conf Go Zurich 2022 - Keynote
.conf Go Zurich 2022 - Keynote.conf Go Zurich 2022 - Keynote
.conf Go Zurich 2022 - KeynoteSplunk
 
.conf Go Zurich 2022 - Platform Session
.conf Go Zurich 2022 - Platform Session.conf Go Zurich 2022 - Platform Session
.conf Go Zurich 2022 - Platform SessionSplunk
 
.conf Go Zurich 2022 - Security Session
.conf Go Zurich 2022 - Security Session.conf Go Zurich 2022 - Security Session
.conf Go Zurich 2022 - Security SessionSplunk
 

More from Splunk (20)

.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine.conf Go 2023 - Data analysis as a routine
.conf Go 2023 - Data analysis as a routine
 
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
.conf Go 2023 - How KPN drives Customer Satisfaction on IPTV
 
.conf Go 2023 - Navegando la normativa SOX (Telefónica)
.conf Go 2023 - Navegando la normativa SOX (Telefónica).conf Go 2023 - Navegando la normativa SOX (Telefónica)
.conf Go 2023 - Navegando la normativa SOX (Telefónica)
 
.conf Go 2023 - Raiffeisen Bank International
.conf Go 2023 - Raiffeisen Bank International.conf Go 2023 - Raiffeisen Bank International
.conf Go 2023 - Raiffeisen Bank International
 
.conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett
.conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett .conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett
.conf Go 2023 - På liv og død Om sikkerhetsarbeid i Norsk helsenett
 
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär).conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
.conf Go 2023 - Many roads lead to Rome - this was our journey (Julius Bär)
 
.conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu...
.conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu....conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu...
.conf Go 2023 - Das passende Rezept für die digitale (Security) Revolution zu...
 
.conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever...
.conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever....conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever...
.conf go 2023 - Cyber Resilienz – Herausforderungen und Ansatz für Energiever...
 
.conf go 2023 - De NOC a CSIRT (Cellnex)
.conf go 2023 - De NOC a CSIRT (Cellnex).conf go 2023 - De NOC a CSIRT (Cellnex)
.conf go 2023 - De NOC a CSIRT (Cellnex)
 
conf go 2023 - El camino hacia la ciberseguridad (ABANCA)
conf go 2023 - El camino hacia la ciberseguridad (ABANCA)conf go 2023 - El camino hacia la ciberseguridad (ABANCA)
conf go 2023 - El camino hacia la ciberseguridad (ABANCA)
 
Splunk - BMW connects business and IT with data driven operations SRE and O11y
Splunk - BMW connects business and IT with data driven operations SRE and O11ySplunk - BMW connects business and IT with data driven operations SRE and O11y
Splunk - BMW connects business and IT with data driven operations SRE and O11y
 
Splunk x Freenet - .conf Go Köln
Splunk x Freenet - .conf Go KölnSplunk x Freenet - .conf Go Köln
Splunk x Freenet - .conf Go Köln
 
Splunk Security Session - .conf Go Köln
Splunk Security Session - .conf Go KölnSplunk Security Session - .conf Go Köln
Splunk Security Session - .conf Go Köln
 
Data foundations building success, at city scale – Imperial College London
 Data foundations building success, at city scale – Imperial College London Data foundations building success, at city scale – Imperial College London
Data foundations building success, at city scale – Imperial College London
 
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
Splunk: How Vodafone established Operational Analytics in a Hybrid Environmen...
 
SOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security WebinarSOC, Amore Mio! | Security Webinar
SOC, Amore Mio! | Security Webinar
 
.conf Go 2022 - Observability Session
.conf Go 2022 - Observability Session.conf Go 2022 - Observability Session
.conf Go 2022 - Observability Session
 
.conf Go Zurich 2022 - Keynote
.conf Go Zurich 2022 - Keynote.conf Go Zurich 2022 - Keynote
.conf Go Zurich 2022 - Keynote
 
.conf Go Zurich 2022 - Platform Session
.conf Go Zurich 2022 - Platform Session.conf Go Zurich 2022 - Platform Session
.conf Go Zurich 2022 - Platform Session
 
.conf Go Zurich 2022 - Security Session
.conf Go Zurich 2022 - Security Session.conf Go Zurich 2022 - Security Session
.conf Go Zurich 2022 - Security Session
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 
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
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 
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!
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 

Conf2014_SplunkSearchOptimization

  • 1. Copyright  ©  2014  Splunk  Inc.   Julian  Harty   SE,  Splunk>   Search  Op@miza@on   in  500  easy  steps    
  • 2. Disclaimer   2   During  the  course  of  this  presenta@on,  we  may  make  forward  looking  statements  regarding  future  events  or  the   expected  performance  of  the  company.  We  cau@on  you  that  such  statements  reflect  our  current  expecta@ons  and   es@mates  based  on  factors  currently  known  to  us  and  that  actual  events  or  results  could  differ  materially.  For   important  factors  that  may  cause  actual  results  to  differ  from  those  contained  in  our  forward-­‐looking  statements,   please  review  our  filings  with  the  SEC.  The  forward-­‐looking  statements  made  in  the  this  presenta@on  are  being  made  as   of  the  @me  and  date  of  its  live  presenta@on.  If  reviewed  aSer  its  live  presenta@on,  this  presenta@on  may  not  contain   current  or  accurate  informa@on.  We  do  not  assume  any  obliga@on  to  update  any  forward  looking  statements  we  may   make.  In  addi@on,  any  informa@on  about  our  roadmap  outlines  our  general  product  direc@on  and  is  subject  to  change   at  any  @me  without  no@ce.  It  is  for  informa@onal  purposes  only  and  shall  not,  be  incorporated  into  any  contract  or   other  commitment.  Splunk  undertakes  no  obliga@on  either  to  develop  the  features  or  func@onality  described  or  to   include  any  such  feature  or  func@onality  in  a  future  release.  
  • 3. Am  I  in  the  right  Session…    and  Who  is  this  guy?   3   Goal  of  Presenta:on:  Search  Op:miza:on   •  How  the  hell  do  I  speed  this  search  up?       Background  of  your  Presenter:  Julian  Harty   •  Splunker  for  2+  Years  -­‐  Variety  of  installa@ons  from  10GB   to  100TB’s+   •  Ex-­‐Oracle/MySQL  DBA  (Recovering)   •  Contact  info  julian@splunk.com    
  • 4. Background  –  Great  to  Not  So  Great   Growth  without  op@miza@on  =  subop@mal  performance     -­‐>  our  goal:  gejng  great  performance  at  scale   4   •  More  Data   •  More  Users   •  New  Searches     •  Even  More  Data   •  Even  More  Users   •  Even  More  Searches…     Op@miza@on   Steps    
  • 5. Challenge  –  Why  so  slow?     The  maturity  of  a  Splunk  deployment       5       Question? Is your environment tuned correctly?   Question? Has your deployment been architected correctly? Question? Are your searches optimized? Solution: Architecting And Designing Your Splunk Deployment - Simeon Yep   Solution: Jiffy Lube Quick Tune Up For Your Splunk Environment – Sean Delaney Solution: Welcome to this session!!!
  • 6. Agenda:  Objec@ves  of  this  Session   6   •  The  Basics:     •  Common  pinalls  -­‐  Best  prac@ces  and  what  not  to  do   •  Take  away:  Basic  steps  to  a  beoer  search     •  Beyond  the  Basics:     •  Search  Architecture  and  Workflow   •  Detailed  Search  review  –  using  Job  inspector  search  examples   •  Take  away:  Job  Inspector  Cheat-­‐Sheet     •  Q&A  
  • 9. SOS  –  Expensive  Searches   Search  Ac@vity,  Usage  Paoerns   -­‐>  SOS  –>  Search  -­‐>  Search  Detail  Ac@vity  -­‐>  Expensive  Searches     9  
  • 10. For  Splunk  6.2  Users  –  _Introspec@on  Index   10  
  • 11. Search  Tuning  –   The  Basics  
  • 12. The  Basics:  Common  Search  Behavior   12   >  be=selec@ve  AND  be=specific  |  …   Narrow  @me  range   >  foo  bar   >  host=web  sourcetype=access*   Use  Summary  Indexing   Use  Report  Accel  or  Summary  Indexing   Use  Fast/Smart  Mode  where  Possible   Bad  Behavior   Good  Behavior     Performance     Improvement   Comment   index=xyz                                  10-­‐50%                                      Index  and  default  fields   source=www   -­‐24h@h                                  365x  30x                                  Limit  Time  Range   >  foo  bar                                  30%                                                  Combine  Searches   Fast/Smart                                20-­‐50%                          Fast  Mode   A  AND  C  AND  D  AND  E                    5-­‐50%                                            Avoid  NOTS   Data  Models  and  Report   Accelera@on   Summary  Indexing     All  Time  Searches   >*   >  foo  |  search  bar   Verbose  Mode   Use  Intelligently   Use  Sparingly     1000%   1000%   Searches  over     large  datasets     Searches  over  long  periods     A  NOT  B    
  • 13. The  Basics:  Common  Op@miza@on  Mistakes   13   •  Summary  indexing  is  Awesome!   –  Ini@al  reac@on  -­‐  Summarize  EVERYTHING!!!   ê  Summarizing  too  much  data  negates  the  point     •  Report  Accelerate  =  Turbo  buoon   –  Ini@al  reac@on  -­‐  Report  Accelerate  EVERYTHING!!!   ê  Too  many  searches  =  skipped  search  issues     •  Data  Models  are  the  answer!   –  Ini@al  reac@on  –  everything  can  be  included!   ê  Convoluted  data  models  can  increase  workload      
  • 14. OK,  But  How  can   you  enforce  these   recommenda@ons?  
  • 15. How  do  you  enforce  Best  Prac@ces?   15   Architect  Perspec:ve:   •  User  educa@on  –  Best  Prac@ces  for  Users       Admin  Perspec:ve:   Restric@ng  User  Controls:  Pulling  in  the  reins   •  Restric@ng  Role  Capabili@es   •  Limit  index   •  Limit  search  terms   •  Limit  search  @me  range   •  Limi@ng  Power  user  role   •  Restrict  Number  of  RT+  Concurrent  Searches    
  • 16. How  do  you  enforce  Best  Prac@ces?   16   Admin  Perspec:ve:   •  Time  range  defaults  (ui-­‐prefs.conf)   •  Time  range  Web  dropdown  op@ons  (Times.conf)    
  • 17. OK  Now  More   advanced   Op@miza@on:  Lets   start  with  -­‐  the   skinny  on  How   Search  Works…  
  • 18. How  Search  Works  –  Physical  Perspec@ve   18       db_lt_et_4   db_lt_et_2       db_lt_et_1   db_lt_et_3   .tsidx   Sources.data   SourceTypes.data   Hosts.data   .gz   .gz   .gz   .gz   .gz   .gz   .gz   .gz   db_1290057665_1289504696_1  history   _internal   main  
  • 19. How  Search  Works  -­‐  Logically   Search  Query  Structure   Parse,  Fetch,  Summarize,  Display   19   Index=mydata  |  eval  loc=long+lat+alt  |  stats  count   retrieve  events   filter/transform/map  
  • 20. Splunk  Distributed  Search   20   4  Steps  to  a  Splunk  Search:   Parse,  Fetch,  Summarize,  Display   " StreamingCommand:  Applies  a   transforma@on  to  search  results   as  they  travel  through  the   processing  pipeline.  Eval  rex   where…   " Repor:ngCommand:  Processes   search  results  and  generates  a   repor@ng  data  structure.   Examples:  stats,  top,  and   @mechart…  
  • 21. Types  of  Searches   21   •  Dense   –  Low  cardinality   –  Example:  sourcetype=access  method=GET   •  Sparse   –  High  cardinality   –  Example:  sourcetype=access  method=GET  ac@on=purchase   •  Super  Sparse  (or  Needle  in  a  Haystack)   –  Very  high  cardinality   –  Example:  sourcetype=cisco:asa  ac@on=denied  src=10.2.3.11   •  Rare     –  Use  Case:  user  behavior  tracking   –  Example:  sourcetype=magicsource  |  rare     Dense   Super   Sparse   Sparse  
  • 22. Dense  Searches  (>10%  matching  results)   (scanCount  vs  eventCount  in  Job  Inspector)   22   Challenge:   •  CPU  and  I/O-­‐bound   –  Ini@al  spike  in  CPU  due  to  decompression      of  raw  events.     –  Retrieval  rate:  50K  events  per  second  per  server   Solu:on:   •  Divide  and  conquer   –  Distribute  search  to  an  indexing  cluster   –  Parallel  compute  and  merge  results   •  Report  Accelera@on  or  use  of  Summaries  –  divide  and  Conquer   –  Report  on  summarized  data  vs.  raw  data   >  sourcetype=access_combined  method=GET  
  • 23. Sparse  Searches   23   Challenge:   •  CPU-­‐bound   –  Dominant  cost  is  uncompressing  *.gz  raw  data  files   –  Some@mes  need  to  read  far  into  a  file  to  retrieve  a  few  events   Solu:on:   •  Avoid  cherry  picking   –  Be  selec@ve  about  exclusions  (avoid  “NOT foo”  or  “field!=value”)   –  Leverage  indexed  fields   •  Filter  using  whole  terms   –  Instead  of    > sourcetype=access_combined clientip=192.168.11.*! –  Use    > sourcetype=access_combined clientip=TERM(192.168.11.2)! >  sourcetype=access_combined  status=404  
  • 24. Super  Sparse  Searches   24   •  “Needle  in  Haystack”     •  Very  I/O  intensive   •  May  take  up  to  2  Seconds      to  parse  each  bucket   >  sourcetype=access_combined  status=404  10.2.1  
  • 25. Rare  Term  Searches   25   •  Bloom  Filters*   –  Bloom  filters  stored  in  each  bucket   –  50-­‐buckets  processed  per  second   –  I/Os  reduced  as  buckets  are  excluded  from  100-­‐200  to  just  a  few   –  50-­‐100x  faster  than  Super  Sparse  searches  on  conven@onal  storage,   >1000x  faster  on  SSD  (Due  to  random  reads)   >  sourcetype=access_combined  sessionID=1234   *  A  Bloom  filter  is  a  data  structure  designed  to  tell   you  whether  or  not  an  element  is  present  in  a  set  
  • 26. How  can  I  determine  if  my  search  is  Dense  or  Sparse?   Use  Job  Inspector…   26   Component   Descrip:on     scanCount   The  number  of  events  that  are  scanned  or  read  off  disk.     eventCount   Number  of  events  that  are  returned  to  base  search   •  For  dense  searches  scanCount  ~=  eventCount.   •  For  sparse  searches,  scanCount  >>  eventCount.   >  sourcetype=access_combined   status=404  81.11.191.113  
  • 28. Measuring  Search   Using  the  Splunk  Search  Inspector     28  Copyright*©*2011,*Splunk*Inc.* Listen*to * Using*the*Search*Inspector* 3* Timings*from*distributed* Remote*timeline* Timings*from*the*search* command.* Timings  from   distributed  peers   Timings  from   the  search  command   * Using*the*Search*Inspector* Timings*from*distributed*p Remote*timeline* Timings*from*the*search* command.* Key  Metrics:   •  Comple@on  Time   •  Number  of  Events   Scanned   •  Search  SID     Job  Inspector  
  • 29. Job  Inspector  Walkthrough  –  Search  Command   29   Rawdata:     Improving  I/O  and  CPU  load     KV:     Are  field  extrac@ons  efficient     Lookups:     Used  appropriately   Autolookups  causing  issues     Typer:   Inefficient  Evenoypes     Alias:   Cascading  alias    
  • 30. Reading  Job  Inspector  -­‐    Search.Index   30   Search.index  =   Time  to  parse  and  read  the  tsidx  files  to   determine  where  to  read  in  rawdata     How  do  you  op:mize  this?   •  Improving  I/O  
  • 31. Reading  Job  Inspector  -­‐    search.rawdata   31   Search.rawdata  =     Time  to  read  actual  events  from   rawdata  files     How  do  you  op:mize  this?   •  Filtering  as  much  as  possible   •  Add  Peers   •  Alloca@ng  more  CPU,  improving  I/O      
  • 32. Reading  Job  Inspector  -­‐    search.kv   32   Search.KV=   Time  taken  to  apply  field  extrac@ons   to  events     How  do  you  op:mize  this?   Regex  op@miza@ons   •  Avoid  greedy  operators  .*?   •  Use  of  Anchors  ^  $   •  Non  Capturing  groups  for  repeats          
  • 33. Reading  Job  Inspector  -­‐    search.lookups   33   Search.lookups  =     Time  to  apply  lookups  to  search     How  do  you  op:mize  this?   •  Use  Appropriately  (at  end  of  search)   •  Autolookups  maybe  causing  issues      
  • 34. Reading  Job  Inspector  -­‐    search.typer  and  tags   34   Search.typer  =     Time  to  apply  event  types  to  the   search     How  do  you  op:mize  this?   •  Use  Appropriately   •  Removed  unused  tags  and   evenoypes      
  • 35. Job  Inspector  Walkthrough  –  Distributed  Search   35   Dispatch.createProviderQueue   Time  to  establish  connec@on  with  peers     Dispatch.fetch   Time  spent  wai@ng  to  fetch  events     Dispatch.evaluate   The  @me  spent  parsing  the  search  and   sejng  up  the  data  structures  needed  to  run   the  search.       How  do  you  op:mize  this?   •  Improving  Peer  conduc@vity   •  Improve  Bundle  replica@on   •  Faster  storage    
  • 36. Job  Inspector  Walkthrough  –  Distributed  Search   36   Dispatch.stream.remote   Time  to  retrieve  events  from  each  remove   peer     Issue:   1.  Unequal  Indexer  performance   •  Either  Hardware  mismatch   •  Uneven  distribu@on  of  indexes   2.  AutoLB  issues    
  • 37. Job  Inspector  Conclusions:   Search  Command  Summary   37   Component   Descrip:on     index   look  in  tsidx  files  for  where  to  read  in  rawdata   rawdata   read  actual  events  from  rawdata  files   kv   apply  fields  to  the  events   filter   filter  out  events  that  don’t  match  (e.g.,  fields,  phrases)   alias   rename  fields  according  to  props.conf   lookups   create  new  fields  based  on  exis@ng  field  values   typer   assign  evenoypes  to  events   tags   assign  tags  to  events  
  • 38. Job  Inspector  Conclusion:   Distributed  Search  Summary   38   Metric   Descrip:on     Area  to  review   createProvider Queue     The  @me  to  connect  to  all  search   peers.     Peer  conduc@vity   fetch     The  @me  spent  wai@ng  for  or   fetching  events  from  search  peers.     Faster  Storage   stream.remote     The  @me  spent  execu@ng  the   remote  search  in  a  distributed   search  environment,  aggregated   across  all  peers.   evaluate   The  @me  spent  parsing  the  search   and  sejng  up  the  data  structures   needed  to  run  the  search.     Possible  bundle  issues  
  • 39. Addi@onal  Key  Logfiles  related  to  search   39   Search  log:   "   Stored  in  $SPLUNK_HOME/var/run/splunk/dispatch/   "   Detailed  analysis  of  every  step  taken  by  the  search     "   Search  ‘stack  trace’  
  • 40. What  is  the  best   search  command  to   use?  
  • 41. Stats  vs  Transac@on   41   Search  Goal:  compute  sta@s@cs  on  the  dura@on  of  web  session   (JSESSIONID=unique  iden@fier):       >  |  stats  range(_@me)  as  dura@on  by  JSESSIONID   |  chart  count  by  dura@on  span=log2     >  sourcetype=access_combined  |  transac@on   JSESSIONID  |  chart  count  by  dura@on   span=log2   Not  so  Great:   Much  BeUer:  
  • 42. Dedup  vs  Latest   42   Search  Goal:  Return  latest  cart  ac@on  for  each  web  site  customer       >  sourcetype=access*  |  stats  latest(clien@p)  by   ac@on   >  sourcetype=access*|  dedup  clien@p  sortby  -­‐ _@me  |table  clien@p,  ac@on   Not  so  Great:   Much  BeUer:   Note:  dedup  can't  be   used  with  report   accelera@on  
  • 43. Joins  and  Subsearches   43   Search  Goal:  Return  latest  JESSIONID  across  two  sourcetypes       >  (sourcetype="access_combined")  OR   (sourcetype="applogs")  |  stats  latest(*)  as  *  by   JSESSIONID   >  sourcetype="access_combined"  |  join  type="inner"   JSESSIONID  [search  sourcetype="applogs"  |  dedup   JSESSIONID  |  table  JSESSIONID,  clien@p,  othervalue]   Not  so  Great:   Much  BeUer:  
  • 45. In  Closing…   45   1.  Implemen@ng  Architecture  best  prac@ces  for  performance  at  scale   •  With  search  behavior  in  mind…   2.  Implemen@ng  User  Onboarding  Best  Prac@ces   •  Basic  op@miza@on  steps   3.  Periodic  Performance  Review     •  Applying  accelera@on  technologies  where  appropriate   •  Removing  unused  searches     4.  Review  addi@onal  sides  for   •  Search  flow  detail   •  Op@mizing  Splunk  Web    
  • 46. And  By  the  way…   46   Other  Sessions  to  look  out  for:   •  How  to  Actually  Use  Splunk  Data  Models  -­‐  David  Clawson      Presented  on  Tuesday  –  Check  out  the  session  notes     •  Jiffy  Lube  Tune-­‐Up  for  your  Splunk  Deployment  -­‐  Sean  Delaney    Presented  on  Tuesday  –  Check  out  the  session  notes     •  ArchitecCng  and  Sizing  your  Splunk  Environment  -­‐  Simeon  Yep      2:15-­‐3:15  Today     •  Splunk  Search  AcceleraCon  Technologies  –  Gerald  Kanapathy    10:30-­‐11:30  Tomorrow     My  Contact  informa:on:   julian@splunk.com  @julian_Harty    
  • 48. Take  Away:  Basic  Steps  to  a  beoer  search   48   •  Avoid  use  of  *  where  ever  possible.   •  Avoid  the  use  of  All  Time.   •  Avoid  subsearches  searches.   •  Incorporate  the  use  default  fields  (source,  sourcetype,  host)  as   well  as  specific  indexes  to  every  search  (where  possible).   •  Use  Fast  or  Smart  mode  where  possible  avoid  ‘Verbose’  mode.   •  Use  Report  Accelera@on  Sparingly  (and  Strategically)  on  reports   on  large  datasets.   •  Use  Summary  Indexing  when  building  reports  over  @me  spans   beyond  target  index  reten@on.   •  Use  Job  Inspector  and  Search  inspector  to  get  more  info  (hold  on   for  more  details!!!)  
  • 49. A  few  notes  on  how  to  op@mize  Splunk  Web     49                                                                    |  fields   Change   Segmenta@on   Use  Fast  Mode  Collapse   Timeline  
  • 50. Search  flow  –  Local  and  Distributed   50   Key  Files:   •  Info   •  Status   •  Results   •  Preview   Key  Flow:   1.  Find  which  Bundle  to  use   2.  Find  Buckets  to  use  (@me  range)   3.  LISPY  TSIDX  search     4.  Process  +  Summarizes  Events   hop://wiki.splunk.com/Community:HowDistSearchWorks