2011年10月31日月曜日
2011年2月25日金曜日
ソーシャルゲーム開発の高負荷対策
http://ke-tai.org/blog/2011/01/28/snsgamesslidematome/
ここのスライドの内容から負荷対策に関して少しまとめてみた。
LAMP環境を想定
+memcachedとか
・DBへの接続切断は明示的に行う
・更新系、参照系でDBを分ける
但し、レプリケーション遅延なんて発生して当たり前。重要な参照は結局更新系から取得。
・KVSを利用する(ログイン時間管理とか結構どうでもいいような情報の負荷が糞高かったりするのに丁度いいらしい)
・キャッシュサーバーを効率的に利用する(使える所は使いまくれ。特に時間のかかるAPIのレスポンスなんか最適)
・Apache,MySQLのチューニングは必須(とにかくボトルネックとなりうる所は全てカリカリにするのだ)
・必ず負荷テスト及び過負荷テストを行う(公開3ヶ月後のユーザーデータを予測してDBに突っ込んでみる。もち本番環境で)
・ツールは大事。テストするにも監視するにも開発するにも。
・会員数数万程度を見越して作ったPGはNG
・スロースタートなんてありえない。最初から全力。でなきゃ、ずっと上には上がらない。
・WebサーバーやスレーブDBサーバーの複数台構成は当たり前。
・マスターDBの分散は難しいよねー。出来ない事無いけどとりあえずはスペックアップで耐える。
でも、最悪分散化する時の為に、テーブル構成は最初から分散を意識して構築
・レスポンスに5秒掛かった時点でアウト!プラットフォームから強制メンテモード突入のお知らせが
・サイト落ちた瞬間にユーザーは次のアプリへGo!二度と戻ってきません。
・DBの正規化はする。だけど場合によっては冗長化する。それが高負荷クオリティ。
・不要なカラムは持たない。どこかで使うかも~なんて設計の段階でちゃんと詰めとけ。
・保持するデータ量は最小限にする。(1日10GB単位でデータが増加するなんて普通という世界)
・期限が過ぎて必要なくなったデータは、さっさと削除
そして削除時のコストも考えておく(1000万レコード削除とか普通)
・インデックスは超重要!でも張りすぎたら超危険。
・LIKE検索とか馬鹿!っていうレベル
・SLOW QUERYは毎日チェック。即修正
・DBの負荷管理をどのように行うか考えておく。危険水域突破からの対策案も併せて
・トランザクションを開始したら、如何に早くコミット出来るかを考え抜く
トランザクション中に外部API呼ぶとか自殺行為
・APC(Alternative PHP cache)を利用する。むしろ使わないと馬鹿
・負荷対策は終わりなき戦い
・ユーザー数2000万超のプラットフォーム舐めんな
結構あったな。
もちろん、スライドショー内で全く言ってない事もチラホラ。
まぁそこは心の声という事で。
いやぁしかしほんとにネットワークエンジニアは尊敬するわ。
数十万の会員でもヒイヒイいうのに、facebookのネットワークエンジニアとかどうなってんだろ?
ここのスライドの内容から負荷対策に関して少しまとめてみた。
LAMP環境を想定
+memcachedとか
・DBへの接続切断は明示的に行う
・更新系、参照系でDBを分ける
但し、レプリケーション遅延なんて発生して当たり前。重要な参照は結局更新系から取得。
・KVSを利用する(ログイン時間管理とか結構どうでもいいような情報の負荷が糞高かったりするのに丁度いいらしい)
・キャッシュサーバーを効率的に利用する(使える所は使いまくれ。特に時間のかかるAPIのレスポンスなんか最適)
・Apache,MySQLのチューニングは必須(とにかくボトルネックとなりうる所は全てカリカリにするのだ)
・必ず負荷テスト及び過負荷テストを行う(公開3ヶ月後のユーザーデータを予測してDBに突っ込んでみる。もち本番環境で)
・ツールは大事。テストするにも監視するにも開発するにも。
・会員数数万程度を見越して作ったPGはNG
・スロースタートなんてありえない。最初から全力。でなきゃ、ずっと上には上がらない。
・WebサーバーやスレーブDBサーバーの複数台構成は当たり前。
・マスターDBの分散は難しいよねー。出来ない事無いけどとりあえずはスペックアップで耐える。
でも、最悪分散化する時の為に、テーブル構成は最初から分散を意識して構築
・レスポンスに5秒掛かった時点でアウト!プラットフォームから強制メンテモード突入のお知らせが
・サイト落ちた瞬間にユーザーは次のアプリへGo!二度と戻ってきません。
・DBの正規化はする。だけど場合によっては冗長化する。それが高負荷クオリティ。
・不要なカラムは持たない。どこかで使うかも~なんて設計の段階でちゃんと詰めとけ。
・保持するデータ量は最小限にする。(1日10GB単位でデータが増加するなんて普通という世界)
・期限が過ぎて必要なくなったデータは、さっさと削除
そして削除時のコストも考えておく(1000万レコード削除とか普通)
・インデックスは超重要!でも張りすぎたら超危険。
・LIKE検索とか馬鹿!っていうレベル
・SLOW QUERYは毎日チェック。即修正
・DBの負荷管理をどのように行うか考えておく。危険水域突破からの対策案も併せて
・トランザクションを開始したら、如何に早くコミット出来るかを考え抜く
トランザクション中に外部API呼ぶとか自殺行為
・APC(Alternative PHP cache)を利用する。むしろ使わないと馬鹿
・負荷対策は終わりなき戦い
・ユーザー数2000万超のプラットフォーム舐めんな
結構あったな。
もちろん、スライドショー内で全く言ってない事もチラホラ。
まぁそこは心の声という事で。
いやぁしかしほんとにネットワークエンジニアは尊敬するわ。
数十万の会員でもヒイヒイいうのに、facebookのネットワークエンジニアとかどうなってんだろ?
2011年2月1日火曜日
携帯コミュニティ事情
日本の3大コミュニティといえば、やっぱりmixi,モバゲー,GREEですが、
今まで色々と槍玉に挙げられてきました。
コミュニティといえば、人と人が出会う所。
人と人が出会えばそこにはいろんな軋轢が生じるのが世の常。
別に大人同士でイザコザが発生する分にはほっとけばいいんですが、
子供が絡むとそうもいきませんからね。
いい大人が年端もいかない子供相手に何してんだってなもんですが、
倫理観に訴えた所で、無くなるわけもなく。。
そこで出てきたのが携帯会社からの情報公開。
現在は携帯の契約での本人確認は厳しくなっており、その際には
勿論生年月日などの情報を記入する事になります。
今回の情報公開というのはSNS側に対してキャリア側から
未成年かどうかの情報を判断するAPIを提供するというもの。
(実際は指定年齢以上か未満かを返す)
これは、あくまでフィルター的な役割をするもので
誕生日などの情報は渡されません。
これによって、子供のふりして紛れ込むような輩を排除できるでしょう。
今はauのみですが、今後docomoやSoftBankも続くのは確実で、
コミュニティサイトが必要以上に悪とみなされる事も少なくなるかも。
(まぁ、いまだに無料!って謳ってるのはどうなのかなぁとか思いますが。)
非常に便利で、今となっては無くてはならないインターネット。
大金持ちを生んだり、自由主義を呼び込んだり、
たまには革命を起こしたりとしておりますが、
これからも、良いニュース悪いニュース出てくるでしょうね。
良いニュースが少しでも増やせるよう
私も力になれればいーなーと思います。
今まで色々と槍玉に挙げられてきました。
コミュニティといえば、人と人が出会う所。
人と人が出会えばそこにはいろんな軋轢が生じるのが世の常。
別に大人同士でイザコザが発生する分にはほっとけばいいんですが、
子供が絡むとそうもいきませんからね。
いい大人が年端もいかない子供相手に何してんだってなもんですが、
倫理観に訴えた所で、無くなるわけもなく。。
そこで出てきたのが携帯会社からの情報公開。
現在は携帯の契約での本人確認は厳しくなっており、その際には
勿論生年月日などの情報を記入する事になります。
今回の情報公開というのはSNS側に対してキャリア側から
未成年かどうかの情報を判断するAPIを提供するというもの。
(実際は指定年齢以上か未満かを返す)
これは、あくまでフィルター的な役割をするもので
誕生日などの情報は渡されません。
これによって、子供のふりして紛れ込むような輩を排除できるでしょう。
今はauのみですが、今後docomoやSoftBankも続くのは確実で、
コミュニティサイトが必要以上に悪とみなされる事も少なくなるかも。
(まぁ、いまだに無料!って謳ってるのはどうなのかなぁとか思いますが。)
非常に便利で、今となっては無くてはならないインターネット。
大金持ちを生んだり、自由主義を呼び込んだり、
たまには革命を起こしたりとしておりますが、
これからも、良いニュース悪いニュース出てくるでしょうね。
良いニュースが少しでも増やせるよう
私も力になれればいーなーと思います。
2010年7月25日日曜日
日本一の石段
昨日日本一の石段(3333段)とやらに登ってみたのだが、
上りと下り含めて約3時間という所でした。
上っている中で思った事は、長い直線があると
精神的に少しつらいなという事。
300段位の長い直線がドーンと目に入ってくると
どうしても「あーすごいきつそう」と思ってしまい
テンションがあまり上がらない。
逆に100段くらいしか見えてないと、
あの先どうなってるかな?とか
よし、あそこまでいったら少し休憩しよう
とか思えるんで、精神的に少し楽。
大きな目標がある時は、適切なマイルストーンを設定しましょう
とか、そういうお話。
-- 自分のiPadから発送する
上りと下り含めて約3時間という所でした。
上っている中で思った事は、長い直線があると
精神的に少しつらいなという事。
300段位の長い直線がドーンと目に入ってくると
どうしても「あーすごいきつそう」と思ってしまい
テンションがあまり上がらない。
逆に100段くらいしか見えてないと、
あの先どうなってるかな?とか
よし、あそこまでいったら少し休憩しよう
とか思えるんで、精神的に少し楽。
大きな目標がある時は、適切なマイルストーンを設定しましょう
とか、そういうお話。
-- 自分のiPadから発送する
2010年7月14日水曜日
広告の価値
テレビCMや新聞広告、雑誌広告など現在広告には
多数の媒体が存在するが、費用対効果の面でどれが一番良いのだろうか?
もちろん、商品の種類やターゲット層、エリアなど複数の要因が絡む事はわかっているのだが、何となく気になってみた。
最近広告で特に気になるにはデジタルサイネージ、電子広告だ。
単純にデジタルデータを流すだけではなく、
時間や曜日によって流す映像を変えたりする。
もっと言えばカメラで周辺を撮影し、その映像を解析して
最適な広告を流す何ていう事も技術的には可能かもしれない。
何かの映画の中で、駅を歩いている人一人一人をチェックし、
それぞれに最適な広告を出すような物があったかと思うが
その世界はもうすぐそこまで来ているのかもしれない。
ただ、どのような広告がその人に最適なのかというのも
一種の個人情報。
「あの人向けの広告っていっつも◉◉◉よね?」
な~んて言われる世の中怖い。
-- 自分のiPadから発送する
多数の媒体が存在するが、費用対効果の面でどれが一番良いのだろうか?
もちろん、商品の種類やターゲット層、エリアなど複数の要因が絡む事はわかっているのだが、何となく気になってみた。
最近広告で特に気になるにはデジタルサイネージ、電子広告だ。
単純にデジタルデータを流すだけではなく、
時間や曜日によって流す映像を変えたりする。
もっと言えばカメラで周辺を撮影し、その映像を解析して
最適な広告を流す何ていう事も技術的には可能かもしれない。
何かの映画の中で、駅を歩いている人一人一人をチェックし、
それぞれに最適な広告を出すような物があったかと思うが
その世界はもうすぐそこまで来ているのかもしれない。
ただ、どのような広告がその人に最適なのかというのも
一種の個人情報。
「あの人向けの広告っていっつも◉◉◉よね?」
な~んて言われる世の中怖い。
-- 自分のiPadから発送する
2010年7月11日日曜日
快適環境
androidアプリの開発をやろうと思い、
macbookに環境一式を入れてみたものの、画面が狭い。
さすが13インチ。
うーん、しょうがない。
必要経費という事でmini display port⇒DVIのコネクタやケーブル等を購入。
痛い出費となったが、結果には満足!
更にiPadをAir Displayを使ってサブモニタ化する。
うん、素晴らしい。

ただ、一緒に買ったiphone/ipad用のスタイラスペンは最悪だった。
これ、商品として売り出しちゃダメなレベルだろ。
見た目は悪く無かったのに…
やはり安物はダメか。
ひっそりと一個だけ置いてあったから、
おぉっ大人気なのかっ!
て思ったのに。
よし、明日からは節約しよう。
-- 自分のiPadから発送する
macbookに環境一式を入れてみたものの、画面が狭い。
さすが13インチ。
うーん、しょうがない。
必要経費という事でmini display port⇒DVIのコネクタやケーブル等を購入。
痛い出費となったが、結果には満足!
更にiPadをAir Displayを使ってサブモニタ化する。
うん、素晴らしい。
ただ、一緒に買ったiphone/ipad用のスタイラスペンは最悪だった。
これ、商品として売り出しちゃダメなレベルだろ。
見た目は悪く無かったのに…
やはり安物はダメか。
ひっそりと一個だけ置いてあったから、
おぉっ大人気なのかっ!
て思ったのに。
よし、明日からは節約しよう。
-- 自分のiPadから発送する
2010年7月8日木曜日
折りたたみキーボード
今欲しいものと聞かれたらそれはBluetooth付きの折りたたみキーボード。
そう、iphoneやipadで利用できるあの便利で憎いやつの事だ。
調べてみると約1万円。
うーん流石に高い。
せめて3000円位にならないものだろうか…
ただ、どこのサイトでも売れに売れまくっているらしくあまり在庫は無い。
皆さん一万出しても欲しいのか。
うん、気持ちはわかる。いくらiphoneのフリック入力がよくできているとはいえ、長文はつらい。
また、ipadでは、ノートと同じ位のキーピッチのソフトウェアキーボードがあるとはいえ、どうしてもミスタッチは多くなってしまう。
ただ、キーボード買っても馬鹿変換は直らないんだよなぁ。
キーボードにipad用のatok付けて一万で販売してくんないかなぁー。
-- 自分のiPadから発送する
そう、iphoneやipadで利用できるあの便利で憎いやつの事だ。
調べてみると約1万円。
うーん流石に高い。
せめて3000円位にならないものだろうか…
ただ、どこのサイトでも売れに売れまくっているらしくあまり在庫は無い。
皆さん一万出しても欲しいのか。
うん、気持ちはわかる。いくらiphoneのフリック入力がよくできているとはいえ、長文はつらい。
また、ipadでは、ノートと同じ位のキーピッチのソフトウェアキーボードがあるとはいえ、どうしてもミスタッチは多くなってしまう。
ただ、キーボード買っても馬鹿変換は直らないんだよなぁ。
キーボードにipad用のatok付けて一万で販売してくんないかなぁー。
-- 自分のiPadから発送する
2010年7月7日水曜日
仕事力
齋藤孝さんの仕事力と言う本を読んだ。
やはり書くという事は重要な事だと改めて感じる。
書くという事は考える事であり、頭の中に渦巻いている言葉のられつを
紐解き整理して行く事に他ならない。
まさにそれは情報処理であり、自分が生業とするものである。
時間の効率の良い使い方も含め中々の良書だと思える。
図書館から借りて来てくださったHさんに感謝。
忙しくても週に一冊は本を読もう。。
…と微かに心に決めた深夜。
-- 自分のiPadから発送する
やはり書くという事は重要な事だと改めて感じる。
書くという事は考える事であり、頭の中に渦巻いている言葉のられつを
紐解き整理して行く事に他ならない。
まさにそれは情報処理であり、自分が生業とするものである。
時間の効率の良い使い方も含め中々の良書だと思える。
図書館から借りて来てくださったHさんに感謝。
忙しくても週に一冊は本を読もう。。
…と微かに心に決めた深夜。
-- 自分のiPadから発送する
2010年7月4日日曜日
adobeセッション
本日はadobeのセッションに参加。
普段adobe製品とはreaderやflashのプラグイン位しか利用していないので
大丈夫か心配だったが、flexの説明なども初心者向けに丁寧に説明があったので話は概ね理解出来るものだった。
ただ、いまいちflexでシステム構築するメリットが分からんかった。
そこは皆わかってるって事だったのかな?
あーもしかしたらデザインとコーディングの分離かな。
androidとAIRの話は全般的に出て来たが、そこは魅力。
その為だけにweb premium買いたくなるくらい。
20万か…個人じゃ無理だな。。
13時から17時半までで5セッションと長丁場で少し疲れましたが、
adobeの本気が見える貴重な体験が出来たなと。
-- 自分のiPadから発送する
普段adobe製品とはreaderやflashのプラグイン位しか利用していないので
大丈夫か心配だったが、flexの説明なども初心者向けに丁寧に説明があったので話は概ね理解出来るものだった。
ただ、いまいちflexでシステム構築するメリットが分からんかった。
そこは皆わかってるって事だったのかな?
あーもしかしたらデザインとコーディングの分離かな。
androidとAIRの話は全般的に出て来たが、そこは魅力。
その為だけにweb premium買いたくなるくらい。
20万か…個人じゃ無理だな。。
13時から17時半までで5セッションと長丁場で少し疲れましたが、
adobeの本気が見える貴重な体験が出来たなと。
-- 自分のiPadから発送する










