{"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":"veidi-ka-palielinat-savu-sliedes-veiktspeju","status":"publish","type":"post","link":"https:\/\/thecodest.co\/lv\/blog\/ways-to-increase-your-rails-performance\/","title":{"rendered":"K\u0101 palielin\u0101t Rails veiktsp\u0113ju"},"content":{"rendered":"<h2 class=\"wp-block-heading\"><strong>Rub\u012bns pirmais<\/strong><\/h2>\n\n\n\n<p><strong><a href=\"https:\/\/thecodest.co\/lv\/case-studies\/providing-a-team-of-ruby-developers-for-a-fintech-company\/\">Rub\u012bns<\/a><\/strong> ir izteikti objektorient\u0113ta valoda. Paties\u012bb\u0101 (gandr\u012bz) viss <strong>Rub\u012bns<\/strong> ir objekts. Nevajadz\u012bgu objektu rad\u012b\u0161ana var rad\u012bt j\u016bsu programmai daudz papildu atmi\u0146as izmanto\u0161anas izmaksu, t\u0101p\u0113c no t\u0101 j\u0101izvair\u0101s.<\/p>\n\n\n\n<p>Lai izm\u0113r\u012btu at\u0161\u0137ir\u012bbu, m\u0113s izmantosim <em><a href=\"https:\/\/github.com\/SamSaffron\/memory_profiler\">memory_profiler<\/a><\/em> gem un ieb\u016bv\u0113tu Benchmark moduli, lai m\u0113r\u012btu laika veiktsp\u0113ju.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sprieguma! meto\u017eu lieto\u0161ana virkn\u0113m<\/strong><\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">piepras\u012bt \"memory_profiler\"\n\nreport = MemoryProfiler.report do\n<a href=\"https:\/\/thecodest.co\/lv\/blog\/app-data-collection-security-risks-value-and-types-explored\/\">dati<\/a> = \"X\" * 1024 * 1024 * 100\ndata = data.downcase\nbeigas\n\nreport.pretty_print<\/code><\/pre>\n\n\n\n<p>T\u0101l\u0101k sniegtaj\u0101 sarakst\u0101 m\u0113s izveidoj\u0101m 100 MB lielu virkni un samazin\u0101j\u0101m katru taj\u0101 ietverto rakstz\u012bmi. M\u016bsu etalons sniedz \u0161\u0101dus rezult\u0101tus <a href=\"https:\/\/thecodest.co\/lv\/blog\/why-us-companies-are-opting-for-polish-developers\/\">mums<\/a> \u0161\u0101du zi\u0146ojumu:<\/p>\n\n\n\n<p><em>Kop\u0101 pie\u0161\u0137irts: 210765044 baiti (6 objekti)<\/em><\/p>\n\n\n\n<p>Tom\u0113r, ja 6. rindu aizst\u0101sim ar:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\"><code>data.downcase!<\/code><\/code><\/pre>\n\n\n\n<p><code> <\/code><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Failu las\u012b\u0161ana pa rindi\u0146\u0101m<\/strong><\/h2>\n\n\n\n<p>Dom\u0101jams, mums ir nepiecie\u0161ams no csv faila ieg\u016bt milz\u012bgu datu kopumu ar 2 miljoniem ierakstu. Parasti tas izskat\u0101s \u0161\u0101di:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">pras\u012bt 'benchmark'\n\nBenchmark.bm do |x|\nx.report do\nFile.readlines(\"2mrecords.csv\").map! {|line| line.split(\",\")}\nbeigas\nbeigas<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">lietot\u0101js sist\u0113ma kop\u0101 real\n\n12.797000 2.437000 15.234000 (106.319865)<\/code><\/pre>\n\n\n\n<p>Lai piln\u012bb\u0101 lejupiel\u0101d\u0113tu failu, bija nepiecie\u0161amas vair\u0101k nek\u0101 106 sekundes. Diezgan daudz! Bet m\u0113s varam pa\u0101trin\u0101t \u0161o procesu, aizst\u0101jot <em>karte!<\/em> metodi ar vienk\u0101r\u0161u <em>kam\u0113r<\/em> cilpa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">pras\u012bt 'benchmark'\n\nBenchmark.bm do |x|\nx.report do\nfile = File.open(\"2mrecords.csv\", \"r\")\nwhile line = file.gets\nline.split(\",\")\nend\nend\nend<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">lietot\u0101js sist\u0113ma kop\u0101 real\n\n6.078000 0.250000 6.328000 ( 6.649422)<\/code><\/pre>\n\n\n\n<p>Darb\u012bbas laiks tagad ir krasi samazin\u0101jies, jo <em>karte!<\/em> metode pieder konkr\u0113tai klasei, piem\u0113ram. <em>Hash#map<\/em> vai <em>Array#map<\/em>, kur <strong>Rub\u012bns<\/strong> saglab\u0101s katru analiz\u0113t\u0101 faila rindu atmi\u0146\u0101, kam\u0113r vien tas tiek izpild\u012bts. <strong>Ruby's garbage collector <\/strong>neatbr\u012bvos atmi\u0146u, pirms \u0161ie iteratori ir piln\u012bb\u0101 izpild\u012bti. Tom\u0113r, lasot rindu pa rindai, GC p\u0101rvietos atmi\u0146u no iepriek\u0161\u0113j\u0101m rind\u0101m, ja tas nav nepiecie\u0161ams.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Izvair\u012b\u0161an\u0101s no meto\u017eu iteratoriem liel\u0101k\u0101s kolekcij\u0101s<\/strong><\/h2>\n\n\n\n<p>\u0160is punkts ir iepriek\u0161\u0113j\u0101 punkta turpin\u0101jums ar bie\u017e\u0101k sastopamu piem\u0113ru. K\u0101 jau min\u0113ju, <a href=\"https:\/\/thecodest.co\/blog\/high-demand-for-ruby-developers\/\">Rub\u012bns<\/a> iteratori ir objekta metodes, un tie neatbr\u012bvo atmi\u0146u, kam\u0113r tiek izpild\u012bti. Neliel\u0101 m\u0113rog\u0101 \u0161\u012b at\u0161\u0137ir\u012bba ir bezj\u0113dz\u012bga (un metodes, piem\u0113ram. <em>karte<\/em> \u0161\u0137iet viegl\u0101k las\u0101ms). Tom\u0113r, ja runa ir par liel\u0101k\u0101m datu kop\u0101m, vienm\u0113r ir v\u0113rts apsv\u0113rt iesp\u0113ju to aizst\u0101t ar vienk\u0101r\u0161\u0101k\u0101m cilp\u0101m. Piem\u0113ram, k\u0101 t\u0101l\u0101k dotaj\u0101 piem\u0113r\u0101:<\/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#do something\nbeigas<\/code><\/pre>\n\n\n\n<p>un p\u0113c refaktoriz\u0101cijas:<\/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\nline = randoms.shift\n#do something\nbeigas\n\"`<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Izmantojiet metodi String::&lt;&lt;<\/strong><\/h2>\n\n\n\n<p>\u0160is ir \u0101trs, bet \u012bpa\u0161i noder\u012bgs padoms. Ja pievienojat vienu virkni citai, izmantojot operatoru += aizkulis\u0113s. <strong>Rub\u012bns <\/strong> tiks izveidots papildu objekts. T\u0101tad \u0161is:\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>Paties\u012bb\u0101 tas noz\u012bm\u0113:<\/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>Operators no t\u0101 izvair\u012btos, ietaupot atmi\u0146u:<\/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>Parun\u0101sim par Rails<\/strong><\/h2>\n\n\n\n<p>Port\u0101ls <strong>Rails ietvars <\/strong> ir daudz \"<em>gotchas<\/em>\", kas \u013cautu optimiz\u0113t j\u016bsu <a href=\"https:\/\/thecodest.co\/lv\/dictionary\/what-is-code-refactoring\/\">kods<\/a> \u0101tri un bez liel\u0101m papildu p\u016bl\u0113m.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Nepaciet\u012bga iel\u0101d\u0113\u0161ana AKA n+1 vaic\u0101juma probl\u0113ma<\/strong><\/h2>\n\n\n\n<p>Pie\u0146emsim, ka mums ir divi saist\u012btie mode\u013ci - Post un Author:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">klase Author &lt; ApplicationRecord\nhas_many :posts\nend\n\nklase Post &lt; ApplicationRecord\nbelong_to :author\nend<\/code><\/pre>\n\n\n\n<p>M\u0113s v\u0113lamies ieg\u016bt visus ierakstus m\u016bsu kontrolier\u012b un par\u0101d\u012bt tos skat\u0101 ar to autoriem:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">kontrolieris\n\ndef index\n@posts = Post.all.limit(20)\nend\n\napskat\u012bt<\/code><\/pre>\n\n\n\n<p>Kontrolier\u012b, <a href=\"https:\/\/thecodest.co\/blog\/a-simple-ruby-application-from-scratch-with-active-record\/\">ActiveRecord<\/a> izveidos tikai vienu vaic\u0101jumu, lai atrastu m\u016bsu zi\u0146ojumus. Bet v\u0113l\u0101k tas ar\u012b izrais\u012bs v\u0113l 20 vaic\u0101jumus, lai atrastu katru autoru, kas aiz\u0146ems papildu laiku! Par laimi, Rails ir \u0101trs risin\u0101jums, k\u0101 apvienot \u0161os piepras\u012bjumus vien\u0101. Izmantojot <em>ietver<\/em> metodi, m\u0113s varam p\u0101rrakst\u012bt m\u016bsu kontrolieri \u0161\u0101di:<\/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>Pagaid\u0101m vien\u0101 vaic\u0101jum\u0101 tiks iel\u0101d\u0113ti tikai nepiecie\u0161amie dati.\u00a0<\/p>\n\n\n\n<p>Varat izmantot ar\u012b citus d\u0101rgakme\u0146us, piem\u0113ram. <a href=\"https:\/\/github.com\/flyerhzm\/bullet\">bullet<\/a> piel\u0101got visu procesu.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Zvaniet tikai tam, kas jums nepiecie\u0161ams<\/strong><\/h2>\n\n\n\n<p>V\u0113l viens noder\u012bgs pa\u0146\u0113miens ActiveRecord \u0101truma palielin\u0101\u0161anai ir izsaukt tikai tos atrib\u016btus, kas ir nepiecie\u0161ami j\u016bsu pa\u0161reiz\u0113jiem m\u0113r\u0137iem. Tas ir \u012bpa\u0161i noder\u012bgi, kad j\u016bsu lietojumprogramma s\u0101k augt un palielin\u0101s ar\u012b tabulu kolonnu skaits.<\/p>\n\n\n\n<p>K\u0101 piem\u0113ru \u0146emsim m\u016bsu iepriek\u0161\u0113jo kodu un pie\u0146emsim, ka mums ir j\u0101izv\u0113las tikai v\u0101rdi no autoriem. T\u0101d\u0113j\u0101di m\u0113s varam p\u0101rrakst\u012bt m\u016bsu kontrolieri:<\/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>Tagad m\u0113s uzdodam savam kontrolierim izlaist visus atrib\u016btus, iz\u0146emot mums vajadz\u012bgo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Pareizi atveidot da\u013cskait\u013cus<\/strong><\/h2>\n\n\n\n<p>Pie\u0146emsim, ka v\u0113lamies izveidot atsevi\u0161\u0137u da\u013c\u0113ju sada\u013cu saviem zi\u0146ojumiem no iepriek\u0161\u0113jiem piem\u0113riem:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"ruby\" class=\"language-ruby\">\n<\/code><\/code><\/code><\/code><\/pre>\n\n\n\n<p>No pirm\u0101 acu uzmetiena \u0161is kods izskat\u0101s pareizs. Tom\u0113r, ja ir liel\u0101ks atveidojamo zi\u0146ojumu skaits, viss process b\u016bs iev\u0113rojami l\u0113n\u0101ks. Tas ir t\u0101p\u0113c, ka <strong>Sliedes <\/strong> v\u0113lreiz izsauc m\u016bsu da\u013c\u0113ju ar jaunu iter\u0101ciju. M\u0113s to varam labot, izmantojot <em>kolekcijas<\/em> funkcija:<\/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>Tagad, <strong>Sliedes<\/strong> autom\u0101tiski noskaidros, kur\u0161 \u0161ablons j\u0101izmanto, un inicializ\u0113s to tikai vienu reizi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Fona apstr\u0101des izmanto\u0161ana<\/strong><\/h2>\n\n\n\n<p>Katru procesu, kas aiz\u0146em vair\u0101k laika un nav b\u016btisks j\u016bsu pa\u0161reiz\u0113jai pl\u016bsmai, var uzskat\u012bt par labu fona apstr\u0101des kandid\u0101tu, piem\u0113ram, e-pasta v\u0113stu\u013cu s\u016bt\u012b\u0161ana, statistikas datu apkopo\u0161ana vai periodisku p\u0101rskatu snieg\u0161ana.&nbsp;<\/p>\n\n\n\n<p><strong>Sidekiq<\/strong> ir visbie\u017e\u0101k izmantotais fona apstr\u0101des d\u0101rgakmens. Tas izmanto <strong>Redis<\/strong> lai uzglab\u0101tu uzdevumus. T\u0101 ar\u012b \u013cauj kontrol\u0113t fona procesu pl\u016bsmu, sadal\u012bt tos atsevi\u0161\u0137\u0101s rind\u0101s un p\u0101rvald\u012bt atmi\u0146as izmanto\u0161anu katram no tiem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Rakstiet maz\u0101k koda, izmantojiet vair\u0101k d\u0101rgakme\u0146u<\/strong><\/h2>\n\n\n\n<p><strong>Sliedes <\/strong> n\u0101ca klaj\u0101 ar milz\u012bgu skaitu d\u0101rgakme\u0146iem, kas ne tikai atvieglo j\u016bsu dz\u012bvi un pa\u0101trina <a href=\"https:\/\/thecodest.co\/lv\/blog\/how-the-codests-team-extension-model-can-transform-your-in-house-development-team\/\">izstr\u0101des process<\/a>, bet ar\u012b palielin\u0101t lietojumprogrammas veiktsp\u0113jas \u0101trumu. T\u0101di d\u0101rgakme\u0146i k\u0101 Devise vai Pundit parasti ir labi p\u0101rbaud\u012bti attiec\u012bb\u0101 uz to \u0101trumu un darbojas \u0101tr\u0101k un dro\u0161\u0101k nek\u0101 kods, kas rakst\u012bts p\u0113c pas\u016bt\u012bjuma \u0161im pa\u0161am m\u0113r\u0137im.<\/p>\n\n\n\n<p>Jaut\u0101jumu gad\u012bjum\u0101, lai uzlabotu <em>Rails veiktsp\u0113ja<\/em>, sasniegt <strong><a href=\"https:\/\/thecodest.co\">The Codest in\u017eenieri<\/a><\/strong> \u0101r\u0101, lai konsult\u0113tos par sav\u0101m \u0161aub\u0101m.<\/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=\"Ruby izstr\u0101d\u0101t\u0101ja pied\u0101v\u0101jums\"\/><\/a><\/figure>\n\n\n\n<p><strong>Las\u012bt vair\u0101k:<\/strong><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/pros-and-cons-of-ruby-software-development\/\">Ruby programmat\u016bras izstr\u0101des plusi un m\u012bnusi<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-and-other-means-of-transport\">Sliedes un citi transporta l\u012bdzek\u013ci<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/thecodest.co\/blog\/rails-development-with-tmux-vim-fzf-ripgrep\">Rails att\u012bst\u012bba ar TMUX, Vim, Fzf + Ripgrep<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Neraugoties uz daudzaj\u0101m priek\u0161roc\u012bb\u0101m, Ruby on Rails joproj\u0101m tiek uzskat\u012bts par sal\u012bdzino\u0161i l\u0113nu t\u012bmek\u013ca sist\u0113mu. M\u0113s visi zin\u0101m, ka Twitter ir atst\u0101jis Rails par labu Scala. Tom\u0113r ar da\u017eiem aspr\u0101t\u012bgiem uzlabojumiem j\u016bs varat palaist savu lietotni iev\u0113rojami \u0101tr\u0101k!<\/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 Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-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\/lv\/emuars\/veidi-ka-palielinat-savu-sliedes-veiktspeju\/\" \/>\n<meta property=\"og:locale\" content=\"lv_LV\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Increase Rails Performance\" \/>\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\/lv\/emuars\/veidi-ka-palielinat-savu-sliedes-veiktspeju\/\" \/>\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,\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"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\":\"lv\",\"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\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/#breadcrumb\"},\"inLanguage\":\"lv\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/thecodest.co\\\/blog\\\/ways-to-increase-your-rails-performance\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lv\",\"@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\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\"},\"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\":\"lv\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#organization\",\"name\":\"The Codest\",\"url\":\"https:\\\/\\\/thecodest.co\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lv\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"contentUrl\":\"https:\\\/\\\/thecodest.co\\\/app\\\/uploads\\\/2024\\\/03\\\/thecodest-logo.svg\",\"width\":144,\"height\":36,\"caption\":\"The Codest\"},\"image\":{\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/pl.linkedin.com\\\/company\\\/codest\",\"https:\\\/\\\/clutch.co\\\/profile\\\/codest\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/thecodest.co\\\/#\\\/schema\\\/person\\\/7e3fe41dfa4f4e41a7baad4c6e0d4f76\",\"name\":\"thecodest\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lv\",\"@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\\\/lv\\\/author\\\/thecodest\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"K\u0101 palielin\u0101t sliedes veiktsp\u0113ju - 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\/lv\/emuars\/veidi-ka-palielinat-savu-sliedes-veiktspeju\/","og_locale":"lv_LV","og_type":"article","og_title":"How to Increase Rails Performance","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\/lv\/emuars\/veidi-ka-palielinat-savu-sliedes-veiktspeju\/","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,"publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"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":"lv","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":"K\u0101 palielin\u0101t sliedes veiktsp\u0113ju - 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","breadcrumb":{"@id":"https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/#breadcrumb"},"inLanguage":"lv","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thecodest.co\/blog\/ways-to-increase-your-rails-performance\/"]}]},{"@type":"ImageObject","inLanguage":"lv","@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":"","publisher":{"@id":"https:\/\/thecodest.co\/#organization"},"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":"lv"},{"@type":"Organization","@id":"https:\/\/thecodest.co\/#organization","name":"The Codest","url":"https:\/\/thecodest.co\/","logo":{"@type":"ImageObject","inLanguage":"lv","@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/","url":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","contentUrl":"https:\/\/thecodest.co\/app\/uploads\/2024\/03\/thecodest-logo.svg","width":144,"height":36,"caption":"The Codest"},"image":{"@id":"https:\/\/thecodest.co\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/pl.linkedin.com\/company\/codest","https:\/\/clutch.co\/profile\/codest"]},{"@type":"Person","@id":"https:\/\/thecodest.co\/#\/schema\/person\/7e3fe41dfa4f4e41a7baad4c6e0d4f76","name":"thecodest","image":{"@type":"ImageObject","inLanguage":"lv","@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\/lv\/author\/thecodest\/"}]}},"_links":{"self":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts\/3804","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/comments?post=3804"}],"version-history":[{"count":8,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts\/3804\/revisions"}],"predecessor-version":[{"id":8428,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/posts\/3804\/revisions\/8428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/media\/3805"}],"wp:attachment":[{"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/media?parent=3804"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/categories?post=3804"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thecodest.co\/lv\/wp-json\/wp\/v2\/tags?post=3804"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}