こんにちは、SmartHR プロダクトエンジニアの B6 です。 「SmartHR 最大の Rails アプリケーションで YJIT を有効化しました」の記事を投稿してから 5 ヶ月ほど経ちました。 その後、「基本機能」と呼ばれる SmartHR 最大の Rails アプリケーションでは Ruby、Rails のアップデートを行いました。 本記事では、YJIT を主題に、Rails・Ruby アップデートと YJIT によるパフォーマンス変化について共有いたします。 アップデート後の環境 アップデート後の Ruby、Rails のバージョンは以下の通りです。 Ruby 3.4 Rails 7.2 Rails アップデートによる YJIT 有効化方法の変更 Rails は、以前の記事執筆時点の 7.1 から、7.2 にアップデートしました。 Rails 7.2 では Ruby 3.3 以降を
はじめに ご無沙汰しております。LRMでエンジニアをしている大場です。 先日、弊社が開発しているセキュリティ教育SaaS「セキュリオ」のRailsアプリケーションにYJITを導入し、本番環境での運用を開始しました。結果として大きくパフォーマンスを向上させることに成功しましたので、YJIT導入手順とその結果についての記事をお届けします。 YJIT導入時のRuby、Railsのバージョンは以下の通りです。 ・Ruby 3.4.1 ・Rails 7.1 概要 YJITはJITコンパイラの一種で、コード実行の速度向上を図るものです。下記の記事でも触れているので参考にして頂ければ幸いです。 YJITの導入事例はここ数年で増えています。調査した内容は参考文献に記載しました。 導入結果に関して調査したところ、ほとんどの企業でパフォーマンスが向上していました。しかし、導入前後のサーバーのリソース消費量変化
ラズパイ5では新たにPCI Express(PCIe)のインタフェースが追加されました。そのため、SSDなどをつなぐことができます。 ネットでも多くの動作報告がされていますが、私も試してみました。 いくつかNVMe SSD用のボードが出ているようですが、PIMORONIのボードが手に入りやすいようなので、それを購入しました。 SSDはAmazonで安めのものを選択しました。特に使用目的も決まっていないので128GBと少なめのものにしました。 Silicon Power社のM.2 2280 SSD 128GB1.ボードの取り付けラズパイとボードの間はケーブルで接続します。ラズパイ側とボード側でコネクタが異なるので、ちょっと迷いました。 ラズパイ側は取り付け金具を上下に、ボード側は取り付け金具を回転させて開く感じになっています。 黒い金具を上に上げてケーブルを差し込んで、下に下ろしてケーブルを
こんにちは、Timee でバックエンドエンジニアとして働いている id:ryopeko です。 今回は Timee で使っている API サーバーの Ruby を最新の 3.4.2 (+YJIT) にアップデートしたことについての記事をお届けします。 1. 概要 今回の記事では、Ruby 3.3.6 から 3.4.2 へのバージョンアップについて、パフォーマンスへの影響、Devin を使った実作業、rubocop.yml の対応など、具体的な取り組みをご紹介します。安定性を重視した今回のアップデートの背景や、今後の展望についても触れていきます。 2. バージョンアップによるパフォーマンスへの影響 今回の Ruby 3.4.2 へのアップデートでは、YJITについては以前のバージョンから引き続き有効であるものの、我々のアプリケーションでは目立った変化はありませんでした。 計測方法とアプリにつ
こんにちは、SmartHR プロダクトエンジニアのB6です。 YJITが本番環境で安定して使える状態になってから、様々な場所でYJITの効果を耳にしてきました。 このたび、「基本機能」と呼ばれるSmartHR最大のRailsアプリケーションにもYJITの導入を完了しました。1 本記事では、その導入結果と実施した対応について共有いたします。 導入環境 YJIT導入時のRuby、Railsのバージョンは以下の通りです。 Ruby 3.3 Rails 7.1 YJIT有効化の設定 ここでは、YJIT有効化に向けて行った設定を紹介します。 Rails 7.2からはYJITがデフォルトで有効化されます。 Rails.application.config.yjit #=> true ただ、我々はRails 7.1なので、まだこの方法を利用できません。そこで下記のようなイニシャライザを用意し、その中でR
はじめまして。ミツカリでエンジニア(ミドルくらい)をやっていますawagakubo(粟ヶ窪)といいます。 今回は弊社のバックエンド環境で採用しているRubyでYJITを有効化してパフォーマンスの向上を図った記録です。 背景 YJITについて やったこと 変化を確認 CPU使用量とメモリ使用量 パフォーマンスチューニングを分岐点としてみる レスポンスタイム 前4週間 後4週間 最後に 背景 これはふとしたタイミングなんですが、YJITを有効化しているか確認したときにされていないことが発覚し、 現在のYJITのバージョンが3.4で安定しているだろうということから有効化してみようということになりました。 YJITについて そもそもYJITとはなんぞやについてですが、既にYJITの知名度はそこそこ高く、関連記事も多いと思いますので簡単な紹介をします。 YJIT は、CRuby 内に構築された軽量で
はじめに こんにちは! WEARバックエンド部バックエンドブロックの小島(@KojimaNaoyuki)です。普段は弊社サービスであるWEARのバックエンド開発・保守を担当しています。 WEARのバックエンドはRubyで動作しており、Ruby 3.3.6にアップデートしたことを機にYJITを有効化しました。本記事ではWEARにYJITを導入した際の効果とその考察をご紹介します。 目次 はじめに 目次 YJITとは パフォーマンス計測条件 事前準備 本番環境の計測結果 認可サーバー レスポンスタイム(99th percentile) メモリ使用量 リソースサーバー レスポンスタイム(99th percentile) メモリ使用量 計測結果についての考察 リソースサーバーのメモリ使用量の増加が大きいことについて さらにYJITを効果的に使うには まとめ 参考文献 お知らせ YJITとは YJI
SNSやnoteやはてなブログを眺めていると、「この人、めっちゃ楽しそうに文章を書いているなぁ」と思える投稿をしばしば見かける。 私はブロガーなので、動画配信については配信者が本当に楽しそうなのか、楽しいふりをしているだけなのかを識別する自信がない。でも、文章なら識別できるつもりでいる。 誰が書いた文章でも、楽しそうな文章にはウキウキとした、桜の開花宣言が出る日のような気配が感じられる。きっと頭のなかでドーパミンがドバドバ出ていたんだろうな、などと想像したりする。ネットスラングでいうところの「脳汁」ってやつだ。 どのジャンルでも、インプットやアウトプットは神経伝達物質の具合によって影響を受ける。ドーパミンは、その最たるものだ。 創作していて楽しくて仕方がない時には、だいたい、ドーパミンが頭のなかを駆け巡っている。そういうときには言葉と言葉、概念と概念とを結びつけるのが簡単になったり、難しい
私の勤めるマイクロソフトにも、レイオフがやってくるようだ。それもパフォーマンスベース。つまり、今首になると、「この人はローパフォーマー」とわかるので、再就職が難しくなるだろう。 自分はマイクロソフトの仕事が面白いし、職場も最高なので、こんな中途半端に首にはなりたくはない。ただ、自分がハイパフォーマーとはとても言えない。周りの人はめっちゃ優秀やから。 私は今までは、自分の性能が「三流」であるけど、ダメな自分を「戦略」でカバーして何とかしてきた。しかし、この流れを見ていると、「三流」のままでは早晩解雇されてしまうだろう。たとえ今回のレイオフを生き延びても、記事を読むと、ワークフォースは減らさないと書いてあるし、出来ない人はいらないという流れなのだと思う。 「優秀」になるしかない 今まで、自分がダメなのは受け入れていたが、これからはそうもいかないのだと思う。「優秀」になるしかない。この面白い仕事
2025年1月末に14年間勤務した 面白法人カヤック を退職し、2025年2月から さくらインターネット に入社しました。 転職の経緯 自分はここ数年、クラウドを便利に使う「隙間家具OSS」として主にCLIツールをいっぱい作ってきたわけですが、実はサーバー/デーモンっぽいものを作るのも好きなんですよね。とはいえ昨今の状況で自作のミドルウェアやサーバーをクラウド上にデプロイしても運用が大変なだけですし(自分以外に運用させるのはなおさら)、なかなかできないなと。 そんなこんなで手持ちの運用サービス(10年続いたソーシャルゲームやもろもろ)が終了することになり、やることないなどうしようかなと思っていたタイミングで 2024年夏に kazeburo さんから誘われ、tagomoris さんも入るということでこれは面白いことができるかな、というのがきっかけです。 エンジニア向けにものを作るというのを
特定のリポジトリに対して機能追加・変更やバグ修正などを行う場合、エンジニアはPull Requestを発行します。プログラミングを続ける過程で数えきれないほど発行されるPull Requestは「エンジニアが歩んできた道のりそのもの」と言っても過言ではありません。 ならば、オープンソースコミュニティで活躍する方々が「特に印象に残っているPull Request」には、その人のOSS活動への思いや日々の研鑽が結実しているのではないでしょうか。今回は8名の著名エンジニアの方々に回答していただきました。 ※人名の50音順に掲載。回答者は敬称略。 k0kubunが紹介『Count trace_running for internal event』 github.com これは私が新卒1年目に初めてRuby本体に送ったPull Requestです。 当時、私は社内の開発者の生産性を改善するチームに所
与太話 巷では中国本土で使われる漢字(簡体字)の字形が表示される現象を「中華フォント現象」と呼ぶらしい.最も簡体字を利用する中国語利用者にとっては「なんのこっちゃ」というこの現象名なのだが,この表示現象をひと括りの単語として認識するまで時間がかかってしまった.そして,この現象を「問題」として認識するのはおそらく日本語利用者しかいないだろう. 先日,久々にOSのアップデートをしようとsudo dnf update(筆者はFedoraを利用.Ubuntuでいうsudo apt-get updateと同義)をかけて再起動したところ,ログイン画面から中華フォント現象が起きていた.もちろんOSの設定言語は「日本語」であるにもかかわらず! これはめんどくさいことに多くの時間を費やすなと思いながら,早速改善策を調べる. 解決策 /etc/fonts以下の設定(etcはOSの設定ファイルが格納されているデ
はじめに 時間管理が上手くなりたいと日々思っているため、このテーマにしました。 自戒の念を込めて😅 タイムマネジメントの王に!!! おれはなるっ!!!(CV.田中真弓) ※掲載内容は個人の見解であり、所属する企業を代表するものではありません。 参考にした書籍 『エンジニアのための時間管理術』 Thomas A. Limoncelli 著 株式会社クイープ 訳 発行年月日:2006年10月 ページ数:272 ISBN:978-4-87311-307-4 タイムマネジメントについての考え方や手法を取り入れたいと思い読みました。 時間管理した先のゴールは? 自分のための時間・家族との時間を最大化する。 前提 エンジニアはタイムマネジメントが難しい。 プロジェクトワークと割り込みが入り混じる職業。 外部からの割り込みは生産性を低下させる。 中断した作業に戻るには時間がかかり、エラーが紛れ込む可能
FastlyからStarleyに転職しました。Starleyは音声会話型おしゃべりAIアプリ「Cotomo」(コトモ)を開発している会社です。 cotomo.ai StarleyはFastlyとは打って変わってB2Cのスタートアップです。今回の転職ではせっかくなので生成AIに多少なりとも関わりたいと思っていて、Starleyはその点でがっつり生成AIを使ったサービスを開発していて、LLMの自前運用もしています。そして「生成AIで雑談」というのはおそらく技術的にはかなり難しい挑戦で、そこに「ときめき」がありました。 ところで、Fastlyはちょうど5年ほど勤めましたが、このたび大規模レイオフがあってその対象になってしまいました。レイオフの対象になった原因はおそらくこのところパフォーマンスが下がっていたせいです。去年の夏に新型コロナに掛かって以来ずっと体調が悪く*1、ついには2024年の3月か
プロダクト本部 tetoru 開発部の中田です。普段は giraffate という ID を使っていることが多いです。 ここでは、弊社が提供している小中学校向け保護者連絡配信サービス tetoru の利用している Ruby のバージョンを 3.2 から 3.3 にバージョンアップしたときの話を共有します。 概要 tetoru では、本文章の執筆時点で Ruby 3.3.4 + YJIT で Rails アプリケーションを動かしています。YJIT とは、Ruby が備えている Just-In-Time (JIT) コンパイラの機能で、これを有効化することで実行時に機械語が生成されアプリケーションの高速化につながります。YJIT に関する詳細についてはこちらの記事をご覧ください。 Ruby 3.2.2 + YJIT から Ruby 3.3.0 + YJIT にバージョンアップした時には多少レイ
こんにちは。個人パフォーマンスを安定させることが得意な @sora_ichigo です。 最近何人かに何か工夫してることあるの?と聞かれたのでブログとして書き出してみようと思います。 はじめに 業務に慣れてくると、求められるアウトプットのレベルや量は上がっていきます。 しかし業務知識をいくら習得しても、働き方が非効率だとパフォーマンスは安定せず、上昇する期待値についていけません。 仕事の成果を増やしたり、残業を減らしてプライベート時間を充実させるためには自分のパフォーマンスを最大化し続ける必要があります。 4つの意識を持つ 自分のパフォーマンスを最大化し続けるためには、4つの意識を持ちましょう。 決して「余裕」を失わない 「よし、やるぞ!」と脳が勝手に思える習慣を持つ 仕事に「モヤモヤ」を持ちこまない 健康でなければ全ての工夫は無意味 重要なのはプロジェクトが佳境の時など、普段より忙しい時
TL;DR さくらインターネット株式会社で8/1から働いています さくらのクラウドの一人目のプロダクト担当ということで、エンジニアリングとビジネス両面を相手に仕事をしていきます ソフトウェアエンジニア大募集中です、いっしょに働こうぜ! 経緯 Treasure Dataを辞めたのが2021年7月末*1でしたが、それから丸3年経過しましたね。早いなあ。その間は本を書いたり個人サービスを作ったりしつつ、個人事業主の技術顧問として数社をお手伝いしたりしていましたが、個人的な事情がいくつか落ち着いたりしたこともあって、今年初めくらいからそろそろフルタイムで働くことを考えはじめ、多くの会社さんとのやりとりを経て、さくらインターネット株式会社への入社を決め、今月から入社し働きはじめました。 どういうポジションで何がしたいのかについては当初だいぶふらふらしていたのですが、いくらかの会話を経て「ビジネスを作
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く