Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Akihiro Kuwano
14,670 views
MongoDBのアレをアレする
MongoDB Casual Talksの資料です!
Technology
◦
Read more
50
Save
Share
Embed
Embed presentation
1
/ 73
2
/ 73
3
/ 73
4
/ 73
5
/ 73
6
/ 73
7
/ 73
8
/ 73
9
/ 73
10
/ 73
11
/ 73
12
/ 73
13
/ 73
14
/ 73
15
/ 73
16
/ 73
17
/ 73
18
/ 73
19
/ 73
20
/ 73
21
/ 73
22
/ 73
23
/ 73
24
/ 73
25
/ 73
26
/ 73
27
/ 73
28
/ 73
29
/ 73
30
/ 73
31
/ 73
32
/ 73
33
/ 73
34
/ 73
35
/ 73
36
/ 73
37
/ 73
38
/ 73
39
/ 73
40
/ 73
41
/ 73
42
/ 73
43
/ 73
44
/ 73
45
/ 73
46
/ 73
47
/ 73
48
/ 73
49
/ 73
50
/ 73
51
/ 73
52
/ 73
53
/ 73
54
/ 73
55
/ 73
56
/ 73
57
/ 73
58
/ 73
59
/ 73
60
/ 73
61
/ 73
62
/ 73
63
/ 73
64
/ 73
65
/ 73
66
/ 73
67
/ 73
68
/ 73
69
/ 73
70
/ 73
71
/ 73
72
/ 73
73
/ 73
More Related Content
PPTX
Mongo dbを知ろう
by
CROOZ, inc.
PPTX
MongoDBの監視
by
Tetsutaro Watanabe
PPTX
WiredTigerを詳しく説明
by
Tetsutaro Watanabe
PDF
MongoDB〜その性質と利用場面〜
by
Naruhiko Ogasawara
PPTX
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
PDF
MongoDBのはじめての運用テキスト
by
Akihiro Kuwano
PPTX
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
PPTX
がっつりMongoDB事例紹介
by
Tetsutaro Watanabe
Mongo dbを知ろう
by
CROOZ, inc.
MongoDBの監視
by
Tetsutaro Watanabe
WiredTigerを詳しく説明
by
Tetsutaro Watanabe
MongoDB〜その性質と利用場面〜
by
Naruhiko Ogasawara
初心者向けMongoDBのキホン!
by
Tetsutaro Watanabe
MongoDBのはじめての運用テキスト
by
Akihiro Kuwano
MongoDBが遅いときの切り分け方法
by
Tetsutaro Watanabe
がっつりMongoDB事例紹介
by
Tetsutaro Watanabe
What's hot
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
PDF
MongoDB概要:金融業界でのMongoDB
by
ippei_suzuki
PDF
Docker道場オンライン#1 Docker基礎概念と用語の理解
by
Masahito Zembutsu
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
AmebaのMongoDB活用事例
by
Akihiro Kuwano
PDF
マイクロにしすぎた結果がこれだよ!
by
mosa siru
PDF
ログ解析を支えるNoSQLの技術
by
Drecom Co., Ltd.
PDF
MongoDB Configパラメータ解説
by
Shoken Fujisaki
PDF
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
by
Masaya Tahara
PDF
CDNの仕組み(JANOG36)
by
J-Stream Inc.
PDF
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
PDF
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
by
Yahoo!デベロッパーネットワーク
PDF
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
PDF
AWS Black Belt Techシリーズ Amazon Kinesis
by
Amazon Web Services Japan
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
PPTX
データ収集の基本と「JapanTaxi」アプリにおける実践例
by
Tetsutaro Watanabe
PPTX
地理分散DBについて
by
Kumazaki Hiroki
PDF
KeycloakのDevice Flow、CIBAについて
by
Hiroyuki Wada
PDF
webエンジニアのためのはじめてのredis
by
nasa9084
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
by
Masahito Zembutsu
MongoDB概要:金融業界でのMongoDB
by
ippei_suzuki
Docker道場オンライン#1 Docker基礎概念と用語の理解
by
Masahito Zembutsu
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
AmebaのMongoDB活用事例
by
Akihiro Kuwano
マイクロにしすぎた結果がこれだよ!
by
mosa siru
ログ解析を支えるNoSQLの技術
by
Drecom Co., Ltd.
MongoDB Configパラメータ解説
by
Shoken Fujisaki
なぜあなたのプロジェクトのDevSecOpsは形骸化するのか(CloudNative Security Conference 2022)
by
Masaya Tahara
CDNの仕組み(JANOG36)
by
J-Stream Inc.
イミュータブルデータモデルの極意
by
Yoshitaka Kawashima
Apache Atlasの現状とデータガバナンス事例 #hadoopreading
by
Yahoo!デベロッパーネットワーク
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
AWS Black Belt Techシリーズ Amazon Kinesis
by
Amazon Web Services Japan
新入社員のための大規模ゲーム開発入門 サーバサイド編
by
infinite_loop
データ収集の基本と「JapanTaxi」アプリにおける実践例
by
Tetsutaro Watanabe
地理分散DBについて
by
Kumazaki Hiroki
KeycloakのDevice Flow、CIBAについて
by
Hiroyuki Wada
webエンジニアのためのはじめてのredis
by
nasa9084
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
Viewers also liked
PDF
カジュアルにMongo dbのbackup機能説明
by
Masakazu Matsushita
PPTX
MongoDB on EC2 #mongodbcasual
by
Yasuhiro Matsuo
PDF
Casual Compression on MongoDB
by
moai kids
PDF
MongoDBではじめるカジュアルなタイムラインシステム
by
Hitoshi Asai
KEY
カジュアルにソースコードリーディング
by
Akihiro Okuno
PDF
CasualなMongoDBのサービス運用Tips
by
Naoki Sega
カジュアルにMongo dbのbackup機能説明
by
Masakazu Matsushita
MongoDB on EC2 #mongodbcasual
by
Yasuhiro Matsuo
Casual Compression on MongoDB
by
moai kids
MongoDBではじめるカジュアルなタイムラインシステム
by
Hitoshi Asai
カジュアルにソースコードリーディング
by
Akihiro Okuno
CasualなMongoDBのサービス運用Tips
by
Naoki Sega
Similar to MongoDBのアレをアレする
PDF
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
by
Akihiro Kuwano
PPT
[大図解]ピグライフはこう動いている
by
Akihiro Kuwano
PDF
MongoDBざっくり解説
by
知教 本間
PDF
Mongodb 紹介
by
Ryo Matsumura
PPT
MongoDB
by
あしたのオープンソース研究所
KEY
ソーシャルゲームログ解析基盤のMongoDB活用事例
by
知教 本間
PDF
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
by
Masakazu Matsushita
ODP
Mongo dbのgridfsについて
by
Masahiro Saito
PPT
Mongodb
by
Satoru Mikami
PDF
mongodbの簡易ストレージ化
by
Hidetoshi Mori
PDF
ソーシャルゲームにおけるAWS/MongoDB利用事例
by
Masakazu Matsushita
PDF
Introduction to MongoDB
by
moai kids
PDF
20120831 mongoid
by
Takeshi AKIMA
PDF
データベース勉強会 In 広島 mongodb
by
Ryuji Tamagawa
DOC
20110301 Mongo Tokyo
by
Kenichi Masuda
DOC
20110302 Mongo Tokyo
by
Kenichi Masuda
PDF
MongoDB2.2の新機能
by
Shoken Fujisaki
PDF
DB tech showcase: 噂のMongoDBその用途は?
by
Hiroaki Kubota
PPTX
日本語:Mongo dbに於けるシャーディングについて
by
ippei_suzuki
PDF
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
by
Akihiro Kuwano
大規模化するピグライフを支えるインフラ ~MongoDBとChefについて~ (前編)
by
Akihiro Kuwano
[大図解]ピグライフはこう動いている
by
Akihiro Kuwano
MongoDBざっくり解説
by
知教 本間
Mongodb 紹介
by
Ryo Matsumura
MongoDB
by
あしたのオープンソース研究所
ソーシャルゲームログ解析基盤のMongoDB活用事例
by
知教 本間
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
by
Masakazu Matsushita
Mongo dbのgridfsについて
by
Masahiro Saito
Mongodb
by
Satoru Mikami
mongodbの簡易ストレージ化
by
Hidetoshi Mori
ソーシャルゲームにおけるAWS/MongoDB利用事例
by
Masakazu Matsushita
Introduction to MongoDB
by
moai kids
20120831 mongoid
by
Takeshi AKIMA
データベース勉強会 In 広島 mongodb
by
Ryuji Tamagawa
20110301 Mongo Tokyo
by
Kenichi Masuda
20110302 Mongo Tokyo
by
Kenichi Masuda
MongoDB2.2の新機能
by
Shoken Fujisaki
DB tech showcase: 噂のMongoDBその用途は?
by
Hiroaki Kubota
日本語:Mongo dbに於けるシャーディングについて
by
ippei_suzuki
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
by
Akihiro Kuwano
More from Akihiro Kuwano
PDF
今日はMongoDBの話はしない
by
Akihiro Kuwano
PDF
銀河レベルのLT(とは)
by
Akihiro Kuwano
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PDF
AWSのNoSQL入門
by
Akihiro Kuwano
PDF
ログ管理のベストプラクティス
by
Akihiro Kuwano
PDF
ビックデータ最適解とAWSにおける新しい武器
by
Akihiro Kuwano
PPTX
MongoDBの可能性の話
by
Akihiro Kuwano
PDF
実環境にTerraform導入したら驚いた
by
Akihiro Kuwano
PDF
インフラエンジニアってなんでしたっけ(仮)
by
Akihiro Kuwano
PDF
WiredTigerストレージエンジン楽しい
by
Akihiro Kuwano
PDF
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
by
Akihiro Kuwano
PDF
Chef環境の闇
by
Akihiro Kuwano
PDF
アメーバピグにおける自作サーバ運用それからどうなった
by
Akihiro Kuwano
PDF
CyberAgentにおけるMongoDB
by
Akihiro Kuwano
PDF
後悔しないもんごもんごの使い方 〜サーバ編〜
by
Akihiro Kuwano
PDF
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
by
Akihiro Kuwano
PDF
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
by
Akihiro Kuwano
PDF
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
by
Akihiro Kuwano
ODP
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
by
Akihiro Kuwano
PDF
DevOpsのはじめの一歩 〜監視の変遷〜
by
Akihiro Kuwano
今日はMongoDBの話はしない
by
Akihiro Kuwano
銀河レベルのLT(とは)
by
Akihiro Kuwano
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
AWSのNoSQL入門
by
Akihiro Kuwano
ログ管理のベストプラクティス
by
Akihiro Kuwano
ビックデータ最適解とAWSにおける新しい武器
by
Akihiro Kuwano
MongoDBの可能性の話
by
Akihiro Kuwano
実環境にTerraform導入したら驚いた
by
Akihiro Kuwano
インフラエンジニアってなんでしたっけ(仮)
by
Akihiro Kuwano
WiredTigerストレージエンジン楽しい
by
Akihiro Kuwano
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
by
Akihiro Kuwano
Chef環境の闇
by
Akihiro Kuwano
アメーバピグにおける自作サーバ運用それからどうなった
by
Akihiro Kuwano
CyberAgentにおけるMongoDB
by
Akihiro Kuwano
後悔しないもんごもんごの使い方 〜サーバ編〜
by
Akihiro Kuwano
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
by
Akihiro Kuwano
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
by
Akihiro Kuwano
オンプレエンジニアがクラウドエンジニアを夢見て。じっと手を見る。
by
Akihiro Kuwano
qpstudy 〜初心者にやさしいインフラ勉強会〜 の紹介
by
Akihiro Kuwano
DevOpsのはじめの一歩 〜監視の変遷〜
by
Akihiro Kuwano
MongoDBのアレをアレする
1.
MongoDBのアレをアレする
株式会社サイバーエージェント アメーバ事業本部ピグディヴィジョン 桑野 章弘 12年7月8日日曜日
2.
アジェンダ
MongoDBCasual もんごたんについておさらい 運用時にあったこと集 障害時何見る? まとめ 12年7月8日日曜日
3.
自己紹介
桑野章弘 サイバーエージェント Ameba を運営しています。 ピグライフの運用/構築を担当 Twitter @kuwa_tw Blog http://d.hatena.ne.jp/akuwano/ 著書/活動 「MySQLによるタフなサイトの作り方」 12年7月8日日曜日
4.
MongoDBCasual
ですね! 12年7月8日日曜日
5.
Casualですね! 12年7月8日日曜日
6.
なんかカジュアルじゃ
ないっぽい、、、 12年7月8日日曜日
7.
という人のためにこれ
がカジュアルだとい うのを見せます 5 12年7月8日日曜日
8.
4 12年7月8日日曜日
9.
俺だ!俺たちがカジュ
アルだ! 5 12年7月8日日曜日
10.
と、
5 12年7月8日日曜日
11.
その前にちょっと宣伝
5 12年7月8日日曜日
12.
ピグゲーム ピグのキャラクターで遊べるゲームのラインナップ
ピグライフ ピグアイランド 6 12年7月8日日曜日
13.
ピグゲーム
3 12年7月8日日曜日
14.
サービス情報
ピグライフ 2011/05/31オープン 会員数360万人(2012/01現在) ピグアイランド 2012/05/22オープン リリース後5日で会員数100万人突破 8 12年7月8日日曜日
15.
ピグライフのアーキテクチャ:全体構成
BackEnd FrontEnd ユーザ/エリ staticサーバ Node.jsサーバ Socketサーバ ア等の状態 データ mongodbサーバ Flashデータ 必要なデータ →リクエス の取得 ト/取得 HTTP WebSocket接続 ・ユーザ情報 ・チャット データ →リクエス ユーザ ト/取得 (ブラウザ) 11 12年7月8日日曜日
16.
MongoDBの構成 アプリケーションサー
バ mongos Mongod[ShardA] Mongod[ShardB] mongoc Mongod[ShardC] 12年7月8日日曜日
17.
アーキテクチャについて
システムアーキテクチャ 冗長化 ReplicaSets スケーラビリティ Sharding 13 12年7月8日日曜日
18.
アーキテクチャの課題
ReplicaSets 相互死活監視&投票により冗長性を保つ。最小単位は 3台。 プライマリ セカンダリ セカンダリ 23 12年7月8日日曜日
19.
アーキテクチャの課題
ReplicaSets 相互死活監視&投票により冗長性を保つ。最小単位は 3台。 生きているサーバ プライマリ で投票が行われ新 しいプライマリが 選ばれる セカンダリ セカンダリ → プライマリ 24 12年7月8日日曜日
20.
アーキテクチャの課題
Sharding データをChunkの細かい粒度に分割し、各 mongodに分散して渡すことで各サーバの負荷を分 散します 19 12年7月8日日曜日
21.
MongoDBの構成
Sharding アプリケーションサー ReplicaSetsに データをChunk バ よりサーバの冗長 の単位に分ける 性を確保 DATA mongos Mongod[ShardA] Mongod[ShardB] mongoc Mongod[ShardC] 20 12年7月8日日曜日
22.
MongoDBの構成
Sharding アプリケーションサー ReplicaSetsに データをChunk バ よりサーバの冗長 の単位に分ける 性を確保 ChunkA ChunkB ChunkC mongos mongocは Mongod[ShardA] シャーディング情 報を持つ Mongod[ShardB] mongoc ChunkA -> ShardA ChunkB -> ShardB Mongod[ShardC] ChunkC -> ShardC 21 12年7月8日日曜日
23.
MongoDBの構成 アプリケーションサー
ReplicaSetsに バ よりサーバの冗長 Sharding データをChunk 性を確保 の単位に分ける mongos mongocは ChunkA Mongod[ShardA] シャーディング情 報を持つ ChunkB Mongod[ShardB] mongoc ChunkA -> ShardA ChunkB -> ShardB ChunkC Mongod[ShardC] ChunkC -> ShardC 22 12年7月8日日曜日
24.
アーキテクチャの課題
MongoDBのこれら機能により、アプリ側の実 装コストは軽く、スケーラビリティを保ったシス テム構築を手軽に使うことができます。 サーバレベルの細かなチューニングは基本的には 必要ありません(できない)と言う所は大きなメ リット サーバアーキテクチャをもんごに合わせていくイ メージ 25 12年7月8日日曜日
25.
とはいえ
26 12年7月8日日曜日
26.
ハマる部分はあるわけ
で 26 12年7月8日日曜日
27.
もんごたんのきもちしりたい
おっおっおっお(^ω^=^ω^) 26 12年7月8日日曜日
28.
ということで
26 12年7月8日日曜日
29.
運用時にあったこと集
26 12年7月8日日曜日
30.
あれ、クラスターが遅いよ?
必要なデータを一気にデータをインポートする oplogデータ量範囲を超えてレプリケーションが停止 一度に入れたため、PrimaryShardにChunkが溜まって しまいI/Oバウンドに 負荷が高いのでBalancerは動かない _人人 人人_ > 突然の死 <  ̄Y^Y^Y^Y ̄ 32 12年7月8日日曜日
31.
あれ、クラスターが遅いよ?
シャードするコレクションを、シャード設定漏れ PrimaryShardでデータファイルが多くなり続けてメモリ マップドファイルのサイズを超えたためI/Oバウンドに シャードしてないのでもちろんBalancerは動かない _人人 人人_ > 突然の死 <  ̄Y^Y^Y^Y ̄ 32 12年7月8日日曜日
32.
シャード設定の不備に関して
ほんとに突然パフォーマンスダウンする 「10分前は快調だった、、、」「みんなそういうの」 PrimaryShardは潤沢な状態にしておく シャード設定は定期的に確認、もしくはシャードの設定を自 動化する 32 12年7月8日日曜日
33.
運用スクリプト
台数がおおくなってくると「標準のコマンドだと表示 が辛いとか」「今のマスターの一覧が欲しいな」とか があるのでそのへんはスクリプト作成して対応 このへんが作りやすいのは魅力 32 12年7月8日日曜日
34.
運用スクリプト:内容
ロックタイムの取得 シャードに入っているmongod一覧のリスト出力 レプリカセットのマスター検索 レプリカセットのプライオリティ検索 printShardingStatusの整形 レプリカセット一括作成 32 12年7月8日日曜日
35.
バックアップ
mongodump mongosに対してmongodump実行するのはバックアッ プとしては一番簡単だけど、稼働中にかけると完全なポイン トイン・タイムのバックアップにはならないよ 35 12年7月8日日曜日
36.
バックアップ
稼働中にスナップショットバックアップを取得するに はこんな感じでやりましょう mongos経由でAutoBalancingをOff 各レプリカセットにfsync lockをかける 各mongodにmongodumpを実行してデータ取得 各レプリカセットにfsync unlock mongos経由でAutoBalancingをOn 35 12年7月8日日曜日
37.
ロック
同じサーバ上に異常に書き込みの多いコレクションが あるとクラスタ全体のアクセスに影響します 現状はクラスタを複数に分けています アプリ実装はコレクション間を疎結合で作る必要あり 2.2系でコレクションレベルロックが実装されるとこ のような手間はなくなる(予定)です 36 12年7月8日日曜日
38.
ロック
Collection A Collection B Collection C 37 12年7月8日日曜日
39.
グローバルロック
Collection A Collection C Collection B 38 12年7月8日日曜日
40.
グローバルロック
Collection A Collection C Collection B 38 12年7月8日日曜日
41.
もんごたんのきもちしりたい
おっおっおっお(^ω^=^ω^) 26 12年7月8日日曜日
42.
障害時何見る?
10 12年7月8日日曜日
43.
障害の時じゃなくてもいいんですけど
トレンドの変化がみたいとか。 現状が把握したいとか。 障害でもいい。 まずはツールで。 11 12年7月8日日曜日
44.
mongostat
トレンドの変化がみたいとか。 現状が把握したいとか。 すべての基本です 12 12年7月8日日曜日
45.
$ ./mongostat --host
192.168.8.41:27018,192.168.8.62:27018 insert query update delete getmore command flushes mapped vsize res faults locked % idx miss % qr¦qw ar¦aw netIn netOut conn set repl time 192.168.8.41:27018 0 361 132 0 209 437 0 36.1g 76.2g 14.3g 1 2.2 0 0¦0 2¦0 85k 698k 3056 RSTest1001 M 11:16:57 192.168.8.62:27018 0 384 164 0 245 480 0 30.1g 63.9g 15.6g 0 2 0 0¦0 2¦0 96k 652k 2587 RSTest1002 M 11:16:57 192.168.8.41:27018 0 418 144 0 231 567 0 36.1g 76.2g 14.3g 0 1.9 0 0¦0 2¦0 100k 908k 3056 RSTest1001 M 11:16:58 192.168.8.62:27018 0 465 170 0 255 582 0 30.1g 63.9g 15.6g 1 3 0 0¦0 2¦0 108k 1m 2587 RSTest1002 M 11:16:58 13 12年7月8日日曜日
46.
mongostat - 見るべき項目
faults - 1秒当りのページフォールト数 Locked % - グローバルライトロックの時間割合 idx miss % - indexのヒット率の時間割合 qr¦qw - 読み込みキュー¦書き込みキュー の大きさ 12 12年7月8日日曜日
47.
mongostat - 見るべき項目
faults が多い場合 キャッシュメモリ溢れの可能性があるので、メモリ、 もしくはサーバを増設 Locked % が高い場合 書き込みのクエリを見直すか、クラスタを分ける。 qr¦qw が高い場合 サーバ負荷が低ければ、ロックの可能性を疑う。負荷 が高ければ単純なクエリ増による高負荷を疑う。 12 12年7月8日日曜日
48.
mongostat
discoverオプションで、レプリカセットのメン バー、クラスタに入っているメンバーを全て抽出する ことが可能なので利用すると楽 12 12年7月8日日曜日
49.
mongotop
現在重いmongodのどのcollectionへアクセスがか かっているかを確認したりとかできまする。 障害の時がメイン mongostatで状況確認→mongotopでサーバ確認 みたいな 15 12年7月8日日曜日
50.
$ /usr/local/mongodb2_1/bin/mongotop --host
mongos_ip --port 27018 connected to: mongos_ip ns total read write 2012-05-23T02:14:10 local.oplog.rs 1929ms 1929ms 0ms life_prd_main.Test 6ms 6ms 0ms life_prd_main.TestPoint 5ms 0ms 3ms life_prd_main.Test2Soil 5ms 0ms 5ms writeに時間 life_prd_main.TestMaterial 1ms 0ms 1ms がかかってい life_prd_main.TestOnline 1ms 0ms 1ms る life_prd_main.Test3 1ms 1ms 0ms life_prd_main.TestQuest 1ms 1ms 0ms life_prd_main.TestBan 0ms 0ms 0ms ns total read write 2012-05-23T02:14:12 local.oplog.rs 1929ms 1929ms 0ms life_prd_main.TestOnline 0ms 500ms 10ms life_prd_main.Test2Soil 8ms 0ms 8ms life_prd_main.Test 5ms 5ms 0ms life_prd_main.TestPoint 4ms 0ms 2ms life_prd_main.TestMaterial 2ms 0ms 2ms life_prd_main.Test3 1ms 1ms 0ms life_prd_main.TestQuest 1ms 1ms 0ms life_prd_main.TestBan 0ms 0ms 0ms 17 12年7月8日日曜日
51.
mtop
標準ツールじゃないよ mongostatと同じようなデータが取れるけど、 ちょっと足りないです。 今流れているクエリを追える所がメリット、、、だけ ど db.currentOp()でいいかも。 18 12年7月8日日曜日
52.
$ ./mtop.py -s
192.168.0.100:27218 192.168.0.100. v2.0.5, 64 bit. Conns: 1304/18696. Lock %: 0.02 Mem: 12182 resident, 37120 virtual, 16617 mapped Ops: 2816 total, 633 getmore, 0 insert, 523 update, 602 command, 1058 query, 0 delete ID CLIENT OP A LOCKW NS 1184788867 192.168.0.112:43976 query T 1184789134 192.168.0.149:48588 query T 1184792427 192.168.0.143:36964 query T 1184866702 192.168.0.103:58179 query T 1184867005 192.168.0.126:55974 query T 1184867347 192.168.0.102:36019 query T 1184867986 192.168.0.129:37664 query T 1184868008 192.168.0.151:59313 query T 1184868757 192.168.0.105:46522 query T 1184869686 192.168.0.154:43275 query T 1184870569 192.168.0.107:58733 query T (snip) 19 12年7月8日日曜日
53.
mongosniff
最後はパケットキャプチャですので、何か会った際の アクセス状況の確認が可能 mongosのアクセス状況とか、複雑なクエリを見た い場合はこれで見るのが良い(これでみるしかない) です。 21 12年7月8日日曜日
54.
# mongosniff --source
NET eth0 27017 # 以下にパケットがズラズラっと並ぶ 127.0.0.1:55858 -->> 127.0.0.1:27017 testdatabase.TestCol1 89 bytes id:kjkjkjkj 14086840 query: { _id: "1234567891234567" } ntoreturn: -1 ntoskip: 0 127.0.0.1:27017 <<-- 127.0.0.1:55858 205 bytes id:77383268 2000171624 - 14086840 22 12年7月8日日曜日
55.
ステータスコマンド
23 12年7月8日日曜日
56.
profiling
遅いクエリ等の調査 24 12年7月8日日曜日
57.
# mongo #
プロファイルオンにする。この場合は10ms以上かかった、リード、ライトクエリが入る。 PRIMARY> db.setProfilingLevel(2,10); { "was" : 2, "slowms" : 100, "ok" : 1 } (Profile確認) { "ts" : ISODate("2012-07-05T04:13:48.408Z"), "op" : "update", "ns" : "testdatabase.TestCol01", "query" : { "_id" : "4334521d75462355" }, "updateobj" : { "$set" : { "747465656e80aa0b" : 10 } }, "idhack" : true, "millis" : 0, "client" : "192.168.0.100", "Test" : "" } # もとに戻す PRIMARY> db.setProfilingLevel(0); { "was" : 2, "slowms" : 10, "ok" : 1 } 25 12年7月8日日曜日
58.
Loglevel変更
これもクエリもでるし、MongoDBの動作がおかし かった場合に必要 ログの量が半端なくなるので注意 26 12年7月8日日曜日
59.
# mongo #
ログレベルを5(最大)にする。 PRIMARY> db.adminCommand({setParameter:1, logLevel:5}) { "logLevel" : 0, "ok" : 1 } (ログ確認する) # もと(ログレベル0)に戻す PRIMARY> db.setProfilingLevel(0); { "logLevel" : 5, "ok" : 1 } 27 12年7月8日日曜日
60.
db.adminCommand("connPo
olStats") シャーディング環境におけるコネクションプールの統 計 28 12年7月8日日曜日
61.
mongos> db.adminCommand("connPoolStats") {
"hosts" : { "192.168.0.241:27019::0" : { "available" : 1, "created" : 1 (snip) "createdByType" : { "master" : 175, "set" : 24, "sync" : 8 }, "totalAvailable" : 24, "totalCreated" : 207, "numDBClientConnection" : 215, "numAScopedConnection" : 28, "ok" : 1 } 29 12年7月8日日曜日
62.
db.serverStatus()
サーバの現在の状態の確認 mongostatとか各種状況確認はほぼこれを見ている 見られる項目 Replicasets Journaling NW Index 要するにほとんどすべて 30 12年7月8日日曜日
63.
PRIMARY> db.serverStatus() {
"host" : "test-mongo01:27018", "version" : "2.0.5", "process" : "mongod", "uptime" : 731083, "uptimeEstimate" : 726409, "localTime" : ISODate("2012-05-23T05:55:14.419Z"), "globalLock" : { "totalTime" : 731082571520, "lockTime" : 21521333332, "ratio" : 0.029437623286867328, (snip) }, "mem" : { (snip) 31 12年7月8日日曜日
64.
(snip) "dur" :
{ "commits" : 27, "journaledMB" : 0.548864, "writeToDataFilesMB" : 1.069064, "compression" : 0.48677963816836817, "commitsInWriteLock" : 0, "earlyCommits" : 0, "timeMs" : { "dt" : 3091, "prepLogBuffer" : 3, "writeToJournal" : 305, "writeToDataFiles" : 17, "remapPrivateView" : 2 } }, 31 12年7月8日日曜日
65.
db.currentOp()
データベースインスタンスについて進行中の現在の操 作の確認 32 12年7月8日日曜日
66.
PRIMARY> db. currentOp()
MongoDB shell version: 2.0.5 connecting to: 127.0.0.1:27218/test { "inprog" : [ { (snip) "opid" : 1654293341, "active" : false, "lockType" : "read", "waitingForLock" : false, "op" : "query", "ns" : "testdb.TestPoint", "query" : { "_id" : "77667f763200000" }, "client" : "192.168.0.125:34831", "desc" : "conn", "threadId" : "0x7f431322f700", "connectionId" : 53986, "numYields" : 0 }, (snip) 33 12年7月8日日曜日
67.
まとめ
42 12年7月8日日曜日
68.
もんごたんのきもちが
わかるようになりま したか? 5 12年7月8日日曜日
69.
ね?
5 12年7月8日日曜日
70.
Casualだったで
しょ? 5 12年7月8日日曜日
71.
みんなもカジュアルに
100シャード運用し てみようね!! 5 12年7月8日日曜日
72.
このあともカジュアル
なトークがいっぱい あるよ! 5 12年7月8日日曜日
73.
ご清聴ありがとうござ
いました! 5 12年7月8日日曜日