Scaling Rails

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Scaling Rails - Presentation Transcript

    1. Scaling Rails
      • Jonathan Weiss, 02.09.2009
      • Peritor GmbH
    2. Scaling Rails
    3. Scaling Rails
    4. Rails
    5. Performance
      • Wikipedia:
        • Das Wort Leistung (engl. Performance ) wird in der Informatik verwendet, um das Vermögen eines Datenverarbeitungssystems zu beschreiben, Aufgaben allgemein ( Funktionalität ) oder auf bestimmte Weise ( schnell , gleichzeitig , ununterbrochen usw.) auszuführen.
    6. Performance Probleme
      • Benutzer warten auf Antwort
      • Anfragen dauern zu lange
      • Es werden nicht genug Anfragen verarbeitet
    7. Scaling = Δ Performance
    8. + Δ Performance = Weniger Probleme - Δ Performance = Mehr Probleme
    9. Scaling
        • Kein Selbstzweck – Problem loesen
        • Gewaehrleisten, dass die Seite in bestimmter Zeit erreichbar ist
        • Request/sec und response time
      Fixing something that’s wrong
    10. Vorgehen Repeat
    11. FIN
    12. Realität
    13. Wissen wir nicht Repeat Wissen wir nicht Wissen wir nicht Wir haben XYZ optimiert Es sollte jetzt, hoffentlich…
    14. Resultat
    15. Scaling Tricks
    16. Scaling Tricks NO TRICKS!
      • Schritt 1 bis 5
      • Pragmatismus
    17. Pragmatismus
      • Kosten/Nutzen immer bedenken
      • Aufhören, wenn es schnell genug ist
      • Kein Over-Engineering
    18. Not knowing Always measure performance
    19. MEsasure
      • Kosten/Nutzen immer bedenken
      • Aufhören, wenn es schnell genug ist
      • Kein Over-Engineering
    20. Munin
    21. Munin
    22. Munin
    23. Monit
        • Apache
    24. Monit
        • Mongrel
    25. Monitoring
      • Wie ist die Performance meiner Seite jetzt?
      • Vorraussetzung, um pro-aktiv zu handeln
      • Essenziell
    26. Not knowing Then find out what is slow, and why
    27. Rails Production Log
        • RAWK, production log analyzer, Request-log-analyzer & co
    28. New Relic
    29. MySQL Slow Query Log
        • mysqldumpslow, mysql_slow_log_parser, mysql-slow-query-log-parser, …
    30. Profiler
        • ruby script/benchmark/profiler
    31. Not knowing Now go and fix it!
    32. Not knowing Now go and fix it! Ein Plan muss her
    33. Constraints
      • Begrenzte Ressourcen:
          • Geld
          • Entwickler
          • Zeit
    34. Hardware ist billig
      • +2 GB RAM pro Server
      Vs. 2 Wochen Optimierung Speicher
    35. Frontend Performance
      • Zu oft ignoriert
      • Teilweise bis zu 90% der Geschwindigkeit aus Benutzersicht
      • Yslow und JavaScript-Profiler sind ein Muss!
    36. Asynchrone Berechnungen
      • Aufwändige Aufgaben werden außerhalb des Requests verarbeitet
      Message/Queue Scheduler
    37. Datenbank
      • IO und damit die Datenbank ist typischerweise die erste große Hürde
      • Das Skalieren der Datenschicht ist das schwierigste Problem:
          • Read-Slaves
          • Master-Master-Setup
          • Replication
          • Document-Databases
          • Sharding
          • ...
    38. Datenbank
      • IO und damit die Datenbank ist typischerweise die erste große Hürde
      • Das Skalieren der Datenschicht ist das schwierigste Problem:
          • Read-Slaves
          • Master-Master-Setup
          • Replication
          • Document-Databases
          • Sharding
          • ...
    39. Archivierung
      • (Historische) Daten reduzieren
        • Löschen
        • Aggregieren
        • Partitionieren
        • Verhindern von exponenziellem Wachstum
        • DB Indices reduzieren
        • Auslagern in separate Datenbanken
        • Auslagern in andere Datenform
    40. Algorithmus
      • Manchmal ist auch einfach die Formel falsch
            • O(N^2) & co
            • Pure Ruby statt C
            • Zentral statt verteilt
            • Relational statt dokumentorientiert
    41. Golden Hammer
      • Das richtige Tool für das richtige Problem
            • Rails Metal
            • Caching
            • DB-Replikation
            • DB-Sharding
            • Hardware Load-Balancing
            • Rails selber?
            • ...
    42. Patching Ruby (GC, Heap & co)
      • Sehr selten notwendig: You are not twitter!
      • Gefahr von ununterstützer Version
      • Tuning-Zeit meist anders sinnvoller einsetzbar
      • Wenn, dann: Ruby Enterprise Edition
    43.  
    44. “ Kein Plan überlebt den ersten Feindkontakt”
            • Helmuth von Moltke
    45. Over-Engineering
      • Einfach gewinnt:
          • Komplexität
          • Wartbarkeit
          • Robustheit
          • Skalierung
          • Anpassungsfähigkeit
          • ...
    46. Ein Plan muss her Umsetzung
    47. Not knowing Verify!
    48. Benchmarking
        • ruby script/benchmark/benchmarker
        • Apache benchmark
    49. Benchmarking Results
    50. Beobachtungen nach dem Deployment
    51. Not knowing Verify! Ich liebe es, wenn ein Plan funktioniert
    52. Q & A Fragen?
    53. Thank you
          • http://www.flickr.com/photos/49656291@N00/3708459793
          • http://www.flickr.com/photos/7437378@N08/448316403
          • http://www.myownmusicindustry.nl/images/mr-t-fro.jpg
          • https://nodpi.org/wp-content/uploads/2008/06/trainwreck.png
          • http://www.olino.org/us/wp-content/uploads/2009/03/response-time-long.jpg
          • http://www.thehollywoodnews.com/thn/assets_c/2009/05/MrT15-thumb-500x500-297.jpg
          • http://www.geocities.com/televisioncity/9348/ateam2.jpg
          • http://www.geocities.com/televisioncity/9348/ateam3.jpg
          • http://fc08.deviantart.com/fhttp://fc08.deviantart.com/fs38/f/2008/351/6/0/Ivory_Tower_by_Hideyoshi.jpgs38/f/2008/351/6/0/Ivory_Tower_by_Hideyoshi.jpg
          • http://de.wikipedia.org/wiki/Datei:GFM_Moltke.jpg
    54. Peritor GmbH Blücherstraße 22 10961 Berlin Telefon: +49 (0)30 69 20 09 84 0 Telefax: +49 (0)30 69 20 09 84 9 Internet: www.peritor.com E-Mail: kontakt@peritor.com  Peritor GmbH - Alle Rechte vorbehalten

    + Jonathan WeissJonathan Weiss, 2 months ago

    custom

    407 views, 1 favs, 1 embeds more stats

    Presentation by Jonathan Weiss about Scaling and Pe more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 407
      • 390 on SlideShare
      • 17 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 3
    Most viewed embeds
    • 17 views on http://blog.peritor.com

    more

    All embeds
    • 17 views on http://blog.peritor.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories