{"id":3804,"date":"2022-02-17T10:11:03","date_gmt":"2022-02-17T10:11:03","guid":{"rendered":"http:\/\/the-codest.localhost\/blog\/ways-to-increase-your-rails-performance\/"},"modified":"2024-07-04T21:01:27","modified_gmt":"2024-07-04T21:01:27","slug":"moglichkeiten-zur-steigerung-ihrer-schienenleistung","status":"publish","type":"post","link":"https:\/\/thecodest.co\/de\/blog\/ways-to-increase-your-rails-performance\/","title":{"rendered":"Wie man die Leistung von Rails erh\u00f6ht"},"content":{"rendered":"<h2 class=\"wp-block-heading\"><strong>Rubinrot zuerst<\/strong><\/h2>\n\n\n\n<p><strong><a href=\"https:\/\/thecodest.co\/de\/case-studies\/providing-a-team-of-ruby-developers-for-a-fintech-company\/\">Rubinrot<\/a><\/strong> ist eine stark objektorientierte Sprache. In der Tat ist (fast) alles in <strong>Rubinrot<\/strong> ist ein Objekt. Die Erstellung unn\u00f6tiger Objekte kann Ihr Programm viel zus\u00e4tzlichen Speicherplatz kosten, weshalb Sie dies vermeiden sollten.<\/p>\n\n\n\n<p>Um den Unterschied zu messen, werden wir eine <em><a href=\"https:\/\/github.com\/SamSaffron\/memory_profiler\">speicher_profiler<\/a><\/em> gem und ein eingebautes Benchmark-Modul zur Messung der Zeitleistung.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Verwenden Sie bang! Methoden auf Strings<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">erfordern \"memory_profiler\"\n\nreport = MemoryProfiler.report do\n<a href=\"https:\/\/thecodest.co\/de\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">Daten<\/a> = \"X\" * 1024 * 1024 * 100\ndata = data.downcase\nend\n\nreport.pretty_print<\/code><\/pre>\n\n\n\n<p>In der nachstehenden Auflistung haben wir eine 100 MB gro\u00dfe Zeichenkette erstellt und jedes darin enthaltene Zeichen heruntergestuft. Unser Benchmark ergibt <a href=\"https:\/\/thecodest.co\/de\/blog\/why-us-companies-are-opting-for-polish-developers\/\">us<\/a> den folgenden Bericht:<\/p>\n\n\n\n<p><em>Insgesamt zugewiesen: 210765044 bytes (6 Objekte)<\/em><\/p>\n\n\n\n<p>Ersetzen wir jedoch Zeile 6 durch:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code>Daten.downcase!<\/code><\/code><\/pre>\n\n\n\n<p><code> <\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dateien zeilenweise lesen<\/strong><\/h2>\n\n\n\n<p>Angenommen, wir m\u00fcssen eine gro\u00dfe Datensammlung von 2 Millionen Datens\u00e4tzen aus einer CSV-Datei abrufen. Normalerweise w\u00fcrde das so aussehen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">erfordern 'Benchmark'\n\nBenchmark.bm do |x|\nx.report do\nFile.readlines(\"2mrecords.csv\").map! {|line| line.split(\",\")}\nend\nend<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Benutzer System insgesamt real\n\n12.797000 2.437000 15.234000 (106.319865)<\/code><\/pre>\n\n\n\n<p>Wir haben mehr als 106 Sekunden gebraucht, um die Datei vollst\u00e4ndig herunterzuladen. Das ist eine ganze Menge! Aber wir k\u00f6nnen diesen Prozess beschleunigen, indem wir die <em>Karte!<\/em> Methode mit einer einfachen <em>w\u00e4hrend<\/em> Schleife:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">erfordern 'Benchmark'\n\nBenchmark.bm do |x|\nx.report do\nfile = File.open(\"2mrecords.csv\", \"r\")\nwhile Zeile = file.gets\nline.split(\",\")\nend\nend\nend<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">Benutzer System insgesamt real\n\n6.078000 0.250000 6.328000 ( 6.649422)<\/code><\/pre>\n\n\n\n<p>Die Laufzeit hat sich nun drastisch verringert, da die <em>Karte!<\/em> Methode geh\u00f6rt zu einer bestimmten Klasse, wie <em>Hash#map<\/em> oder <em>Array#map<\/em>, wobei <strong>Rubinrot<\/strong> speichert jede Zeile der geparsten Datei im Speicher, solange sie ausgef\u00fchrt wird. <strong>Rubys Garbage Collector <\/strong>gibt den Speicher nicht frei, bevor diese Iteratoren vollst\u00e4ndig ausgef\u00fchrt wurden. Beim zeilenweisen Lesen wird jedoch der Speicher aus den vorherigen Zeilen ausgelagert, wenn dies nicht erforderlich ist.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Vermeiden Sie Methoden-Iteratoren bei gr\u00f6\u00dferen Sammlungen<\/strong><\/h2>\n\n\n\n<p>Dieser Punkt ist eine Erweiterung des vorherigen Punktes mit einem h\u00e4ufigeren Beispiel. Wie ich bereits erw\u00e4hnt habe, <a href=\"https:\/\/thecodest.co\/blog\/high-demand-for-ruby-developers\/\">Rubinrot<\/a> Iteratoren sind Objektmethoden, und sie geben den Speicher nicht frei, solange sie ausgef\u00fchrt werden. Auf einer kleinen Skala ist der Unterschied bedeutungslos (und Methoden wie <em>Karte<\/em> scheint besser lesbar zu sein). Bei gr\u00f6\u00dferen Datenmengen ist es jedoch immer eine gute Idee, sie durch einfachere Schleifen zu ersetzen. Wie im folgenden Beispiel:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">numberofelements = 10000000\nrandoms = Array.new(numberofelements) { rand(10) }\n\nrandoms.each do |line|\n#etwas tun\nend<\/code><\/pre>\n\n\n\n<p>und nach dem Refactoring:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">numberofelements = 10000000\nrandoms = Array.new(numberofelements) { rand(10) }\n\nwhile randoms.count &gt; 0\nZeile = randoms.shift\n#etwas tun\nend\n\"`<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Methode String::&lt;&lt; verwenden<\/strong><\/h2>\n\n\n\n<p>Dies ist ein schneller, aber besonders n\u00fctzlicher Tipp. Wenn Sie hinter den Kulissen eine Zeichenkette an eine andere anh\u00e4ngen, indem Sie den Operator += verwenden. <strong>Rubinrot <\/strong> wird ein zus\u00e4tzliches Objekt erstellt. Also, dies:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code> a = \"X\"\n b = \"Y\"\n a += b<\/code><\/code><\/pre>\n\n\n\n<p>Das bedeutet eigentlich Folgendes:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code> a = \"X\"\n b = \"Y\"\n c = a + b\n a = c<\/code><\/code><\/pre>\n\n\n\n<p>Der Operator w\u00fcrde das vermeiden und Ihnen etwas Speicherplatz sparen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code><code> a = \"X\"\n b = \"Y\"\n a &lt;&lt; b<\/code><\/code><\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Lassen Sie uns \u00fcber Rails sprechen<\/strong><\/h2>\n\n\n\n<p>Die <strong>Rails-Framework <\/strong> verf\u00fcgt \u00fcber eine F\u00fclle von \"<em>gotchas<\/em>\", die es Ihnen erm\u00f6glichen w\u00fcrde, Ihre <a href=\"https:\/\/thecodest.co\/de\/dictionary\/what-is-code-refactoring\/\">Code<\/a> schnell und ohne allzu gro\u00dfen zus\u00e4tzlichen Aufwand.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Eager Loading AKA n+1 Abfrageproblem<\/strong><\/h2>\n\n\n\n<p>Nehmen wir an, wir haben zwei verbundene Modelle, Post und Author:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">Klasse Author &lt; ApplicationRecord\nhas_many :posts\nend\n\nKlasse Post &lt; ApplicationRecord\ngeh\u00f6rt_zu :Autor\nend<\/code><\/pre>\n\n\n\n<p>Wir m\u00f6chten alle Beitr\u00e4ge in unserem Controller abrufen und sie in einer Ansicht mit ihren Autoren darstellen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">Controller\n\ndef index\n@posts = Post.all.limit(20)\nend\n\nview<\/code><\/pre>\n\n\n\n<p>Im Controller, <a href=\"https:\/\/thecodest.co\/blog\/a-simple-ruby-application-from-scratch-with-active-record\/\">ActiveRecord<\/a> wird nur eine Abfrage erstellt, um unsere Beitr\u00e4ge zu finden. Sp\u00e4ter werden jedoch 20 weitere Abfragen ausgel\u00f6st, um jeden einzelnen Autor zu finden, was zus\u00e4tzliche Zeit in Anspruch nimmt! Gl\u00fccklicherweise bietet Rails eine schnelle L\u00f6sung, um diese Abfragen in einer einzigen zu kombinieren. Durch die Verwendung der <em>enth\u00e4lt<\/em> Methode k\u00f6nnen wir unseren Controller folgenderma\u00dfen umschreiben:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code> def index\n     @posts = Post.all.includes(:author).limit(20)\n end<\/code><\/code><\/pre>\n\n\n\n<p>Vorerst werden nur die erforderlichen Daten in einer Abfrage abgefragt.\u00a0<\/p>\n\n\n\n<p>Sie k\u00f6nnen auch andere Edelsteine verwenden, wie z. B. <a href=\"https:\/\/github.com\/flyerhzm\/bullet\">Aufz\u00e4hlung<\/a> um den gesamten Prozess individuell zu gestalten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Rufen Sie nur an, was Sie brauchen<\/strong><\/h2>\n\n\n\n<p>Eine weitere n\u00fctzliche Technik, um die Geschwindigkeit von ActiveRecord zu erh\u00f6hen, besteht darin, nur die Attribute aufzurufen, die f\u00fcr Ihre aktuellen Zwecke erforderlich sind. Dies ist besonders n\u00fctzlich, wenn Ihre Anwendung zu wachsen beginnt und die Anzahl der Spalten pro Tabelle ebenfalls zunimmt.<\/p>\n\n\n\n<p>Nehmen wir unseren vorherigen Code als Beispiel und gehen wir davon aus, dass wir nur Namen von Autoren ausw\u00e4hlen m\u00fcssen. Wir k\u00f6nnen also unseren Controller umschreiben:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code><code> def index\n     @posts = Post.all.includes(:author).select(\"name\").limit(20)\n end<\/code><\/code><\/code><\/pre>\n\n\n\n<p>Jetzt weisen wir unseren Controller an, alle Attribute zu \u00fcberspringen, au\u00dfer dem, das wir brauchen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Richtiges Rendern von Partials<\/strong><\/h2>\n\n\n\n<p>Nehmen wir an, wir wollen einen separaten Teilbereich f\u00fcr unsere Beitr\u00e4ge aus den vorherigen Beispielen erstellen:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code><code><code>\n<\/code><\/code><\/code><\/code><\/pre>\n\n\n\n<p>Auf den ersten Blick sieht dieser Code korrekt aus. Bei einer gr\u00f6\u00dferen Anzahl von Beitr\u00e4gen, die gerendert werden m\u00fcssen, wird der gesamte Prozess jedoch deutlich langsamer. Der Grund daf\u00fcr ist <strong>Schiene <\/strong> ruft unser Teilprogramm mit einer neuen Iteration erneut auf. Wir k\u00f6nnen das beheben, indem wir die <em>Sammlungen<\/em> Funktion:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code><code><code><\/code><\/code><\/code><\/code><\/pre>\n\n\n\n<p>Jetzt, <strong>Schiene<\/strong> findet automatisch heraus, welche Vorlage verwendet werden soll und initialisiert sie nur einmal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Hintergrundverarbeitung verwenden<\/strong><\/h2>\n\n\n\n<p>Jeder Prozess, der mehr Zeit in Anspruch nimmt und f\u00fcr Ihren aktuellen Arbeitsablauf nicht entscheidend ist, k\u00f6nnte ein guter Kandidat f\u00fcr die Hintergrundverarbeitung sein, z. B. das Versenden von E-Mails, das Sammeln von Statistiken oder das Erstellen regelm\u00e4\u00dfiger Berichte.&nbsp;<\/p>\n\n\n\n<p><strong>Sidekiq<\/strong> ist der am h\u00e4ufigsten verwendete Edelstein f\u00fcr die Hintergrundverarbeitung. Es verwendet <strong>Redis<\/strong> um Aufgaben zu speichern. Au\u00dferdem k\u00f6nnen Sie den Ablauf Ihrer Hintergrundprozesse steuern, sie in separate Warteschlangen aufteilen und die Speichernutzung f\u00fcr jeden einzelnen Prozess verwalten.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Weniger Code schreiben, mehr Edelsteine verwenden<\/strong><\/h2>\n\n\n\n<p><strong>Schiene <\/strong> hat sich eine enorme Anzahl von Edelsteinen ausgedacht, die Ihnen nicht nur das Leben erleichtern und die Arbeit beschleunigen. <a href=\"https:\/\/thecodest.co\/de\/blog\/how-the-codests-team-extension-model-can-transform-your-in-house-development-team\/\">Entwicklungsprozess<\/a>, sondern auch die Geschwindigkeit Ihrer Anwendung erh\u00f6hen. Gems wie Devise oder Pundit sind in der Regel hinsichtlich ihrer Geschwindigkeit gut getestet und arbeiten schneller und sicherer als Code, der f\u00fcr denselben Zweck geschrieben wurde.<\/p>\n\n\n\n<p>Bei Fragen zur Verbesserung <em>Leistung von Rails<\/em>, erreichen <strong><a href=\"https:\/\/thecodest.co\">Die Codest-Ingenieure<\/a><\/strong> um Ihre Zweifel zu \u00e4u\u00dfern.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/thecodest.co\/careers#offers]\"><img decoding=\"async\" src=\"\/app\/uploads\/2024\/05\/ruby-1-.png\" alt=\"Angebot f\u00fcr Ruby-Entwickler\"\/><\/a><\/figure>\n\n\n\n<p><strong>Lesen Sie mehr:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/pros-and-cons-of-ruby-software-development\/\">Vor- und Nachteile der Softwareentwicklung in Ruby<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-and-other-means-of-transport\">Eisenbahnen und andere Transportmittel<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\">Rails-Entwicklung mit TMUX, Vim, Fzf + Ripgrep<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Trotz seiner zahlreichen Vorteile gilt Ruby on Rails immer noch als ein relativ langsames Web-Framework. Wir alle wissen, dass Twitter Rails zu Gunsten von Scala verlassen hat. Mit ein paar cleveren Verbesserungen k\u00f6nnen Sie Ihre App jedoch deutlich schneller ausf\u00fchren!<\/p>","protected":false},"author":2,"featured_media":3805,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[],"class_list":["post-3804","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Increase Rails Performance - The Codest<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thecodest.co\/de\/blog\/moglichkeiten-zur-steigerung-ihrer-schienenleistung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Increase Rails Performance - The Codest\" \/>\n<meta property=\"og:description\" content=\"Despite its numerous advantages, Ruby on Rails is still considered to be a relatively slow web framework. We all know that Twitter has left Rails in favor of Scala. However, with a few cleaver improvements you can run your app significantly faster!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thecodest.co\/de\/blog\/moglichkeiten-zur-steigerung-ihrer-schienenleistung\/\" \/>\n<meta property=\"og:site_name\" content=\"The Codest\" \/>\n<meta property=\"article:published_time\" content=\"2022-02-17T10:11:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-07-04T21:01:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/ways_to_increase_your_rails_performance.png\" \/>\n\t<meta property=\"og:image:width\" content=\"960\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"thecodest\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"thecodest\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/\"},\"author\":{\"name\":\"thecodest\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"headline\":\"How to Increase Rails Performance\",\"datePublished\":\"2022-02-17T10:11:03+00:00\",\"dateModified\":\"2024-07-04T21:01:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/\"},\"wordCount\":856,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/ways_to_increase_your_rails_performance.png\",\"articleSection\":[\"Software Development\"],\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/\",\"name\":\"How to Increase Rails Performance - The Codest\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/ways_to_increase_your_rails_performance.png\",\"datePublished\":\"2022-02-17T10:11:03+00:00\",\"dateModified\":\"2024-07-04T21:01:27+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#breadcrumb\"},\"inLanguage\":\"de-DE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#primaryimage\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/ways_to_increase_your_rails_performance.png\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/05\\\/ways_to_increase_your_rails_performance.png\",\"width\":960,\"height\":540},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/thecodest.co\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Increase Rails Performance\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#website\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"name\":\"The Codest\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/thecodest.co\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de-DE\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de-DE\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g\",\"caption\":\"thecodest\"},\"url\":\"https:\\\/\\\/thecodest.co\\\/de\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Wie man die Leistung von Rails erh\u00f6ht - The Codest","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thecodest.co\/de\/blog\/moglichkeiten-zur-steigerung-ihrer-schienenleistung\/","og_locale":"de_DE","og_type":"article","og_title":"How to Increase Rails Performance - The Codest","og_description":"Despite its numerous advantages, Ruby on Rails is still considered to be a relatively slow web framework. We all know that Twitter has left Rails in favor of Scala. However, with a few cleaver improvements you can run your app significantly faster!","og_url":"https:\/\/thecodest.co\/de\/blog\/moglichkeiten-zur-steigerung-ihrer-schienenleistung\/","og_site_name":"The Codest","article_published_time":"2022-02-17T10:11:03+00:00","article_modified_time":"2024-07-04T21:01:27+00:00","og_image":[{"width":960,"height":540,"url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/ways_to_increase_your_rails_performance.png","type":"image\/png"}],"author":"thecodest","twitter_card":"summary_large_image","twitter_misc":{"Written by":"thecodest","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#article","isPartOf":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/"},"author":{"name":"thecodest","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"headline":"How to Increase Rails Performance","datePublished":"2022-02-17T10:11:03+00:00","dateModified":"2024-07-04T21:01:27+00:00","mainEntityOfPage":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/"},"wordCount":856,"commentCount":0,"image":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/ways_to_increase_your_rails_performance.png","articleSection":["Software Development"],"inLanguage":"de-DE","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/","url":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/","name":"Wie man die Leistung von Rails erh\u00f6ht - The Codest","isPartOf":{"@id":"https:\/\/thecodest.co\/#website"},"primaryImageOfPage":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#primaryimage"},"image":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/ways_to_increase_your_rails_performance.png","datePublished":"2022-02-17T10:11:03+00:00","dateModified":"2024-07-04T21:01:27+00:00","author":{"@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76"},"breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#breadcrumb"},"inLanguage":"de-DE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/"]}]},{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#primaryimage","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/ways_to_increase_your_rails_performance.png","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/05\/ways_to_increase_your_rails_performance.png","width":960,"height":540},{"@type":"BreadcrumbList","@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/thecodest.co\/"},{"@type":"ListItem","position":2,"name":"How to Increase Rails Performance"}]},{"@type":"WebSite","@id":"https:\/\/thecodest.co\/#website","url":"https:\/\/thecodest.co\/","name":"Der Codest","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thecodest.co\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de-DE"},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"de-DE","@id":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5dbfe6a1e8c86e432e8812759e34e6fe82ebac75119ae3237a6c1311fa19caf4?s=96&d=mm&r=g","caption":"thecodest"},"url":"https:\/\/thecodest.co\/de\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/comments?post=3804"}],"version-history":[{"count":8,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3804\/revisions"}],"predecessor-version":[{"id":8428,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/posts\/3804\/revisions\/8428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media\/3805"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/media?parent=3804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/categories?post=3804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/de\/wp-json\/wp\/v2\/tags?post=3804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}