OPENERP BENCHMARK
How$to$test$performance$and$
robustness$against$your$own$volumes$?$
Cyril$MORISSE$($@cmorisse$)$$
Introduc3on%
!  At%Audaxis,%we%decided%to%invest%in%a%methodology%
to%answer%3%kinds%of%ques3ons:%
!  Is%OpenERP%able%to%m...
What%to%measure%?%
!  You%must%find%the%most%challenging%business%processes%and%
condi3ons%then%express%them%in%terms%of%wh...
What%to%measure%(con3nued)%
!  What%does%«good%response%3me»%technically%means%?%
%
!  JSONbRPC%requests%response%3me%must...
How%to%measure%it%
!  Use%Funkload%
!  Develop%a%test%case%which%simulates%user%interac3ons%(via%XMLb
RPC…)%
!  Install%«%...
Funkload%Sample%Report%(con3nued)%
Funkload%Sample%Report%(con3nued)%
Funkload%Sample%Report%(end)%
Database%size%really%maAers%
!  You%must%bench%with%real%volume%of%data%!!!%
0
1
2
3
4
5
6
7
8
0 100000 200000 300000 4000...
Database%size%really%maAers(con3nued)%
!  In%fact,%you%will%need%several%benchmarks:%
!  Benchbfiller%
"  Use%these%benchma...
Plan%your%architecture%
but%focus%on%the%database%
!  Configure%your%database%!%At%least%use%pgtune%!!!%
!  ORM%may%be%your...
Tools%&%References%
!  Funkload%(%hAp://funkload.nuxeo.org%%)%
!  Benchmark%(and%Test)%your%OpenERP%Server%and%others%
!  ...
More%informa3on?%
www.audaxis.com%
%
Contact%us%
openerp@audaxis.com%
%
%
%
14
Visit our booth at OpenERP Community Days i...
Upcoming SlideShare
Loading in...5
×

OpenERP Benchmark : How to test performance and robustness against your volumes? Cyril Morisse, Audaxis

4,079

Published on

Published in: Business, Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,079
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
170
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

OpenERP Benchmark : How to test performance and robustness against your volumes? Cyril Morisse, Audaxis

  1. 1. OPENERP BENCHMARK How$to$test$performance$and$ robustness$against$your$own$volumes$?$ Cyril$MORISSE$($@cmorisse$)$$
  2. 2. Introduc3on% !  At%Audaxis,%we%decided%to%invest%in%a%methodology% to%answer%3%kinds%of%ques3ons:% !  Is%OpenERP%able%to%manage%my%business% !  Is%this%hardware%configura3on%able%to%sustain%our% opera3ons%load%?%Un3l%when%?% !  What%hardware%should%we%buy%to%run%OpenERP%for%the% next%3%years%?%
  3. 3. What%to%measure%?% !  You%must%find%the%most%challenging%business%processes%and% condi3ons%then%express%them%in%terms%of%what%you%can%measure% !  Eg.%Can%OpenERP%handle%240.000%orders%per%years%with%40%users%?%% !  You%can’t%benchmark%on%this%base%% !  240.000%orders%per%year%is%2,5%orders%per%hour%per%user%(on%a%240% working%days%of%10%hours%per%year%base)% "  Note:%that%this%is%one%order%every%36s%too%!% !  What%you%can%measure%is:% !  Can%my%system%maintains%response%3me%<%1%s%per%transac3on%over%10% hours%with%:% "  40%users%entering%1%order%every%16%minutes%during%10%(peak%hours%intensity)%%% "  That’s%1%order%every%24s%
  4. 4. What%to%measure%(con3nued)% !  What%does%«good%response%3me»%technically%means%?% % !  JSONbRPC%requests%response%3me%must%be%kept%around% 1s%for%the%system%to%be%felt%as%responsive.% !  Funkload%measure%responsiveness%for%you%using%%APDEX% OpenERP Database OpenERP Application Server User OpenERP Web Client Enter fields, Press buttons JSON-RPC SQL Responsiveness 1 Sale Order with 5 lines, “Confirmed” then “Invoiced” ~ 20 ~ 150 ~ 6700
  5. 5. How%to%measure%it% !  Use%Funkload% !  Develop%a%test%case%which%simulates%user%interac3ons%(via%XMLb RPC…)% !  Install%«%Funkload%monitor%»%on%your%servers% !  Define%and%run%Funkload%benchmarks%with:% "  A%test%case% "  List%of%cycle%defining%the%number%of%concurrent%users% "  Eg.%100,100,100,100% "  Cycle%dura3on% "  Frequency%(as%a%period%:%one%test%every%x%seconds)% !  You%will%get%a%(quite)%fancy%report%with:% !  Test%execu3on%3me% !  Individual%request%execu3on%3me% !  Main%server%metrics%(CPU,%RAM,%Network%Load)% %
  6. 6. Funkload%Sample%Report%(con3nued)%
  7. 7. Funkload%Sample%Report%(con3nued)%
  8. 8. Funkload%Sample%Report%(end)%
  9. 9. Database%size%really%maAers% !  You%must%bench%with%real%volume%of%data%!!!% 0 1 2 3 4 5 6 7 8 0 100000 200000 300000 400000 500000 OpenERP Response Time evolution over Sales Order count Response Time (s)
  10. 10. Database%size%really%maAers(con3nued)% !  In%fact,%you%will%need%several%benchmarks:% !  Benchbfiller% "  Use%these%benchmarks%to%fill%up%your%database%(customers,% products,%…)% !  Benchbreference% "  2%hours%with%target%ac3vity%level% !  Benchbrobustness% "  10%(several)%hours%with%target%ac3vity%level% !  Benchblimit% "  We%run%this%one%at%the%end%of%the%bench%to%determine%how%many% users%more%the%system%will%support%at%target%ac3vity%level%% %
  11. 11. Plan%your%architecture% but%focus%on%the%database% !  Configure%your%database%!%At%least%use%pgtune%!!!% !  ORM%may%be%your%enemy%;%think%about%the%roundtrips%involved%by%your%code% !  Don’t%split%Applica3on%and%Database%servers%too%early%!% !  If%your%database%is%not%too%big%:%think%SSD%(From%20x%to%250x%more%IOPS%than%HDD)*% OpenERP Database OpenERP Application Server OpenERP Web Client JSON-RPC SQL Horizontal Scaling VerticalScaling
  12. 12. Tools%&%References% !  Funkload%(%hAp://funkload.nuxeo.org%%)% !  Benchmark%(and%Test)%your%OpenERP%Server%and%others% !  Muppy%(%hAp://bitbucket.org/cmorisse/muppy%)% !  “Make%your%OpenERP%Servers%behave%as%puppets”% !  Install%OpenERP%plamorms%everywhere%(in%really%alpha%stage)% !  Pgbadger%(%hAp://dalibo.github.io/pgbadger%)% !  Analyse%SQL%requests%processed%by%your%PostgreSQL%Server% !  Pgtune%(%hAps://github.com/gregs1104/pgtune%)% !  Helps%you%to%configure%your%PostgreSQL%(basically)% !  Pg_ac3vity%(hAps://github.com/julmon/pg_ac3vity%)% !  Top%like%applica3on%for%PostgreSQL%Server% !  OpenERP%buildout%Recipe%(%hAps://pypi.python.org/pypi/anybox.recipe.openerp%)% !  A%set%of%Ugly%scripts%to%automate%the%launch%of%Funkload%Filler%benchmarks%% !  Theses%tools%allows%to%measure%performance%over%database%size% !  hAp://www.apdex.org%% !  SQL%Databases%Don’t%Scale%by%Adam%WIGGINS% !  hAp://adam.heroku.com/past/2009/7/6/sql_databases_dont_scale/% !  HDD%vs%SSD%by%IBM% !  hAp://wwwb03.ibm.com/systems/power/hardware/peripherals/ssd/hdd_ssd.html%%
  13. 13. More%informa3on?% www.audaxis.com% % Contact%us% openerp@audaxis.com% % % % 14 Visit our booth at OpenERP Community Days in Hall K
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×