Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ちいさなクラウド業者やってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
MATSUMOTO Katsuyoshi
June 15, 2015
Technology
0
200
ちいさなクラウド業者やってみた
Kernel/VM #11
MATSUMOTO Katsuyoshi
June 15, 2015
Tweet
Share
More Decks by MATSUMOTO Katsuyoshi
See All by MATSUMOTO Katsuyoshi
POI: Proof of Identity
katsyoshi
0
130
Ruby in Ruby - Building an AOT Compiler with Ruby
katsyoshi
0
320
(私的)RubyKaigi の歩き方
katsyoshi
0
1.6k
Building Ruby Native Extension using Ruby
katsyoshi
0
2.1k
fluentdとxlsx
katsyoshi
0
170
mikutterとJubatusとfluentd
katsyoshi
0
11k
ZFSでNASやってはまったこと
katsyoshi
0
2k
Asakusa.rbに一年間通ったらこうなった
katsyoshi
1
2.7k
mikutterとJubatusで遊んでみた
katsyoshi
0
640
Other Decks in Technology
See All in Technology
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
580
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
650
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
150
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
6
5.5k
Databricks Free Edition講座 データサイエンス編
taka_aki
0
290
入社1ヶ月でデータパイプライン講座を作った話
waiwai2111
1
220
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
140
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
320
MySQLのJSON機能の活用術
ikomachi226
0
150
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
2
350
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.1k
MCPでつなぐElasticsearchとLLM - 深夜の障害対応を楽にしたい / Bridging Elasticsearch and LLMs with MCP
sashimimochi
0
140
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
Designing for Timeless Needs
cassininazir
0
130
Thoughts on Productivity
jonyablonski
74
5k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Faster Mobile Websites
deanohume
310
31k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
110
Google's AI Overviews - The New Search
badams
0
900
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
290
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
90
Transcript
小さなクラウド業 者やってみた katsyoshi
whoami なまえ: katsyoshi fav.rb、fluent-plugin-mecab、fluent- plugin-axlsx
目的 おかねを積まずに大量のサーバがほ しい
目的 Ruby on Rails が動く環境が欲し い 80台ほど 個人用の Linux(CentOS 6.5)
はあるが、容量 制限がある(1GB) Windows共用だし、Ruby環境整えないといけ ないし、管理者権限どうだったけな
目的 必要な機能 Ruby on Rails 環境 Ruby、Webサーバ サーバ管理 Linux環境に慣れる
目的 お金をかけずに大量にサーバが 欲しい EC2?、Heroku? IPあまってるし、自前でやるか
目的 いまあるマシンでやろう メモリ192GBのKVMサーバ これどうやって動かすんだっけ? 一部メモリ認識しないとかいう問題もあった よな? 余ってるPCでやるかー
想定する利用方法 一週間でつかう時間が決まって る 4時間しかつかわない 同時にアクセス およそ80人
マシン構成 安いBTOマシン CPU: Intel(R) Core(TM) i3 CPU 550 @ 3.20GHz
Memory: 16GB OS: Ubuntu 14.04 LXC: 1.0.7-ubuntu
LXC KVMと比べてオーバーヘッド少な いし(?)これにしよう。 とりあえずデフォルトでやってみよ う。
失敗 70人くらいで実行!! $ bundle install --path .bundle/gems # 2時間後インストール終了 $
bundle exec rails s -b 0.0.0.0 # ここは5分ほどで起動し、アクセス これはなんとかせねば とりあえず分散すればいいんじゃね
対応策 同じマシン3台で20台づつ分散し よう! なんか1台ネットワークに繋がらないん だが… とりあえず2台で ここでもミスが…
再構成 Precision T1500 CPU: Intel(R) Core(TM) i7 CPU 860 @
2.80GHz Memory: 32GB, or 16GB OS: Ubuntu 14.04 LXC: 1.0.7-ubuntu 実行時、メモリ量がちがうこと に気づく 今回は問題なく実行完了
ベンチマーク とりあえず、LXC利用しないで実 行 80並列 bundle install --path .bundle/gems > /dev/null
&
結果 はやい方 (i7) 2015年 6月 6日 土曜日 00:46:01 JST 2015年
6月 6日 土曜日 01:05:30 JST おそい方 (i3) NICがお亡くなりに… ping も ssh も通らなくなってた そもそもましんがおなくなりに… > VGA/DVIともに信号が出力されていないようです。
まとめ LXCでも100台つらい 30台ぐらいだとなんとかうごく リソース制限かければいいもっとうご く?
実際に動いてるログとってみ た 実際の運用マシン 再構築したマシンにそれぞれLXC35台 づつ
運用時の負荷 13~16時半ごろ まで(MEM 32G: CPU)
運用時の負荷 13~16時半ごろ まで(MEM 32G: MEM)
運用時の負荷 13~16時半ごろ まで(MEM 32G: IO)
運用時の負荷 13~16時半ごろ まで(MEM 32G: NET)
運用時の負荷 13~16時半ごろ まで(MEM 32G: DISK)
運用時の負荷 13~16時半ごろ まで(MEM 32G: SWAP)
運用時の負荷 13~16時半ごろ まで(MEM 16G: CPU)
運用時の負荷 13~16時半ごろ まで(MEM 16G: MEM)
運用時の負荷 13~16時半ごろ まで(MEM 16G: IO)
運用時の負荷 13~16時半ごろ まで(MEM 16G: NET)
運用時の負荷 13~16時半ごろ まで(MEM 16G: DISK)
運用時の負荷 13~16時半ごろ まで(MEM 16G: SWAP)
運用時の負荷 とってみたがとくに問題なさそ う… メモリ使用量が多いがそこまで read/writeも少なかったし メモリたりてるのでswapもしてないし 実際の運用だとこの構成でも問