エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
Railsサーバーで大量の画像処理を可能に!セマフォを使ったメモリーオーバーフロー対策と並列処理の理解 | 株式会社CyberOwl
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Railsサーバーで大量の画像処理を可能に!セマフォを使ったメモリーオーバーフロー対策と並列処理の理解 | 株式会社CyberOwl
エンジニアインターンの田中です! 株式会社CyberOwlで画像ホスティングシステムの実装を担当させていた... エンジニアインターンの田中です! 株式会社CyberOwlで画像ホスティングシステムの実装を担当させていただきました。 その過程で、Ruby on Railsサーバーが大量の画像編集を同時に行った場合に、メモリーオーバーフローとなることが判明し、セマフォを利用してその対策を行いました。ここではその対策に加え、そのために必要な知識であった、プロセス、スレッド、セマフォ、ミューテックス、そしてRailsのウェブサーバーpumaがどのように複数リクエストを処理しているのかをまとめました。 プログラムの実行単位 プロセスとスレッド pumaによるプロセスとスレッドの実装 Railsが同時に複数リクエストをうけた場合の挙動 排他処理 セマフォ(Semaphore) ミューテックス(Mutex) 画像処理の同時実行数をセマフォを使って制限する Concurrent::Semaphoreの導入 実装時の