タグ

ブックマーク / www.na3.jp (72)

  • デブサミ2016「大規模Redisサーバ縮小化の戦い」講演メモ #devsumi - 元RX-7乗りの適当な日々

    メモメモ。泥臭い話で面白かったです。 「大規模Redisサーバ縮小化の戦い」 駒井 祐人 氏 (株)アカツキ ゲームのサーバサイド機能開発、インフラの設計構築・保守運用 Redisとは インメモリDB 5種類のキーバリューのデータ型 ファイル永続化オプション システムの問題点 EC2サーバが20台に対して、AWSのElasticCache(Redis)が64台あった なぜ64台あったかというと、リリース直後にRedisの負荷問題があり、8台 => 64台になった 調査するとkeys("")を実行している箇所があった 当然お金がかかる(cache.m3.large * 64台 = 約135万円/月) 冗長化しんどいし、設定ファイルの記載も辛い ので、縮小化と冗長化の対処をしたい 現状整理 格納されているデータ フレンド情報、セール情報、ランキング情報 キーの件数 1サーバに8DB、1DBあた

    デブサミ2016「大規模Redisサーバ縮小化の戦い」講演メモ #devsumi - 元RX-7乗りの適当な日々
    aki77
    aki77 2016/03/06
  • SPFの設定はTXTレコード"のみ"に行うのが最近の推奨らしい - 元RX-7乗りの適当な日々

    あまりにもブログを書いてなさすぎるので、昨年同様に一人アドベントカレンダーでもやろうかなーと思っています、並河です。こんにちは。(昨年は12/1から欠損してくじけた) 最近は割と、情シス業をしたりすることもあって、この前はSPF(Sender Policy Framework)の設定をきちんと入れなおしたりしていたのですが、そこで学んだメモ。 これまではDNSでのSPFまわりの設定って、当たり前のようにSPFレコードとTXTレコードの両方を登録(TXTレコードしか解釈できない古いリゾルバでも対応できるように)していたのですが、どうも最近はTXTレコードのみにしましょうとRFCで定義されています。 具体的には、2014/04に策定された RFC 7208 の "3.1. DNS Resource Records" に以下の記載があります。 SPF records MUST be publis

    SPFの設定はTXTレコード"のみ"に行うのが最近の推奨らしい - 元RX-7乗りの適当な日々
    aki77
    aki77 2015/11/28
  • Redis(2.8系)の基本オペレーションとかSentinelの挙動とかの色々メモ - 元RX-7乗りの適当な日々

    最近必要に迫られて、ようやくRedisをインストールして触ってみました。(Redis童貞からの脱却) 色々と、基部分ではあるけど、せっかく実際に触りながら勉強したので、このエントリにメモしておこうと思います。 尚、使ってみたRedisのバージョンは、stableの最新版である2.8.7です。(OSは、LinuxのCentOS 6.5) ちなみに、このエントリに書いていないような、Redisの基的なアレコレについては、WEB+DB Press Vol.73のRedis特集(2.6向けではありますが)にほとんど書いてあるので読むべし。 WEB+DB PRESS Vol.73 作者: 設樂洋爾,白土慧,はまちや2,大和田純,松田明,後藤大輔,ひろせまさあき,小林篤,近藤宇智朗,まかまか般若波羅蜜,Mr. O,川添貴生,重国和宏,柳澤建太郎,奥野幹也,佐藤鉄平,後藤秀宣,mala,中島聡,堤智

    Redis(2.8系)の基本オペレーションとかSentinelの挙動とかの色々メモ - 元RX-7乗りの適当な日々
    aki77
    aki77 2014/03/12
  • デブサミ2014「さくらのクラウド開発と運用、裏話的な何か」講演メモ #devsumi - 元RX-7乗りの適当な日々

    クラウドサービスがどのように作られることになったか、とかどのように開発されたかの裏話。生々しい話も所々出てきて面白かったです。 運用の部分、時間がなくなってしまって割愛されていたのですが、そっちも是非聞きたかったです。 「さくらのクラウド開発と運用、裏話的な何か」 鷲北 賢 氏 @ken_washikita さくらインターネット研究所 所長 さくらのクラウド開発チームリーダー兼務 「中間管理職PMの立場でお話します。」 さくらインターネット データセンターを中心とした事業。 ハウジング レンタルサーバ 専用サーバ VPS クラウド(IaaS) 2009/05 「さくらはVPSをやらない」と高らかに宣言(したように見えた) 社長が当時の@ITにて 現実として、社内に仮想化サービスを検討するプロジェクトは皆無 社長の記事のおかげで、「やっちゃいけないんだな…」という空気が醸成 2009/07

    デブサミ2014「さくらのクラウド開発と運用、裏話的な何か」講演メモ #devsumi - 元RX-7乗りの適当な日々
  • ntpdが動いている環境で、ntpdateを実行する - 元RX-7乗りの適当な日々

    ntpdateで手動で時刻同期をする際に、既にntpdが動いている環境では、以下のようなメッセージが出力され、ntpdateによる時刻同期が行われない。 # ntpdate 172.xxx.xxx.xxx 21 Sep 17:07:34 ntpdate[9564]: the NTP socket is in use, exiting で、これまでは手動で時刻合わせを行う場合は、素直に一時的にntpdをstopさせて、ntpdateを実行して手動な時刻動機を行った後、ntpdをstart・・・みたいなことをしていたのですが、そんなことをしなくても"-u"オプションをつけてntpdateを実行すれば、ntpdをわざわざ止めなくても良いことに今更気付いた。 # ntpdate -u 172.xxx.xxx.xxx 21 Sep 17:07:41 ntpdate[9566]: adjust tim

    ntpdが動いている環境で、ntpdateを実行する - 元RX-7乗りの適当な日々
  • tracerouteの色々 - 元RX-7乗りの適当な日々

    インターネットのネットワークに多少なりと興味がある方なら、指定の目的地までの経路探索をしてくれる、みんな大好きtracerouteコマンド。 そんなtracerouteの色々をメモしておきます。 tracerouteの仕組み 既に多くの解説サイトがあるので、そちらに譲りますw tracerouteはTTLを1ずつ増やしながらパケットを送信することで、経路情報を取得する。 TTLとはパケットの生存期間を表し、ルータを1つ経由することに1ずつ減算される。 ルータはTTLが2以上のパケットが届いた場合、TTLの値を1だけ小さくし次のルータへ転送する。 TTLが1のパケットが届いた場合、届いたパケットを破棄しICMP time exceededパケットを送信者に返す。 tracerouteはまず、TTLを1にセットしたパケットを送信する。最初のルータに届いた時点でTTLがゼロになり、ICMP ti

    tracerouteの色々 - 元RX-7乗りの適当な日々
  • muninサーバのチューニングの考え方 - 元RX-7乗りの適当な日々

    色々見ていたら、ちょっと思うところがあったので、tweetしようと書き始めたんだけど、長くなってしまったのでブログに残しておこうと思う。 muninのサーバは、対象ノードが多くなってきたりして、処理が増えてくると、多くのケースでネックになってくるのはCPUとディスクI/Oで、それらの有限なリソースをcronの定期実行が走る5分間隔の間々でいかに効率よくリソースを使うかがmuninサーバのチューニングのポイントだと思っている。 リソースを使いきった=サーバが重い、という図式が成り立つのであれば、リソースを完全に使い切る時間帯を作らない努力/調節をすれば良いわけです。要件によっては、パフォーマンスを最大限出し切る設定(チューニング)が正とは限らないわけです。 つまり、muninのようにビューを提供していて、(バックグラウンドの処理以外の)その表示自体にもそれなりにリソースをわれる前提だとした

    muninサーバのチューニングの考え方 - 元RX-7乗りの適当な日々
  • Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々

    とりとめもなく書いてみる。主にルーキー向けです。 サーバの運用とかやっていると、不定期ではあるが、たまにタイトルのようなディスク容量が逼迫する話題に直面します。 まぁ、それが起こるのは一旦良いとして、みんなこういう時、どうやって調べているのだろう? とりあえず、僕がどうやってるか書いてみます。 何はともあれ現状確認 みんな大好き"df"コマンドです。細かい説明は省きますが、各パーティション・ファイルシステムごとにディスクの使用状況を確認。 # df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/sda3 130G 88G 36G 72% / /dev/sda1 494M 23M 447M 5% /boot tmpfs 12G 0 12G 0% /dev/shm正確とは言いませんが、だいたいどのパーティションにどのくらい容量が空いているかが確認できます。 ど

    Linuxサーバがディスク容量不足になった!何か消さねば!ってなった時にどう対処するか - 元RX-7乗りの適当な日々
    aki77
    aki77 2013/07/30
  • Chef 11 で Chef Server WebUI を使えるようにしてみる(chef11アレコレ) - 元RX-7乗りの適当な日々

    昨日の「Chef 11 での client/server/knife のセットアップ手順(+α)」のエントリの続きです。 Chef ServerとClientは基的にRESTなHTTP APIを介してやりとりを行うのですが、ChefにはServer APIGUI(ブラウザ)で操作できるchef-server-webuiが標準でついています。 ↑の昨日のエントリでセットアップした状態だと、僕の環境(CentOS 6系)だと使えなかったので、使える状態までに設定したメモを残しておきます。 (ちなみに、私は普段ほとんどWebUIを使っていません...) 前提 Chef Server 11系のバージョン 昨日のエントリの通り、Chef Serverはインストール&動作確認済 http://d.hatena.ne.jp/rx7/20130526/p1 使ったChef Serverの環境はCent

    Chef 11 で Chef Server WebUI を使えるようにしてみる(chef11アレコレ) - 元RX-7乗りの適当な日々
    aki77
    aki77 2013/05/28
  • Chef 11 での client/server/knife のセットアップ手順(+α) - 元RX-7乗りの適当な日々

    遅れながら、Chefの新しい11系のバージョンを触ってみました。 つまづいた途中経過を含めて、セットアップのログや動きで気付いた事を簡単に残しておきます。 尚、今回使ってみた実行環境は、CentOSの6系です(Linux)。 結論から申し上げますと、Chefの新しいバージョンは、サーバのセットアップが物凄く楽でした。 旧来のバージョンでもUbuntuはそこそこ楽でしたが、CentOSの面倒くささと言ったら、んもう。 インストールパッケージの入手先 最近は、下記のChef家となるOpscodeのサイトから、client/serverともインストーラ(各OSでのパッケージ)をダウンロードできるようになっています。 Chef Downloads Clientのインストール 上記サイトからパッケージをダウンロードしてインストールしてもよいのですが、Linuxであれば curl -L https:

    Chef 11 での client/server/knife のセットアップ手順(+α) - 元RX-7乗りの適当な日々
    aki77
    aki77 2013/05/27
  • muninの表示がクソ重くなっていたのを劇的に改善した話 - 元RX-7乗りの適当な日々

    某所の"munin"がびっくりするくらい画面表示が重くなっていて、ひょんなことから改善することになった話。 前提条件として、このmuninが動いているサーバは数百台のノード(サーバ)を管理している状態で、muninのバージョンは2.0系でした。 当は、後学のためにも作ってくれた人に直してもらうべきと思いつつ、あまり悠長なことも言ってられない感じだったので、一人チューニンガソンを敢行。・・・要望があったのでログを残しておきます。(遅くなってごめんなさい) 最初の状態(before) まず、muninのトップページですが、開いてみると、、、 うほっ、19.61秒かかっておりました。これはなかなかのストレスです。 特にHTML部分の出力に19.4秒かかっている。ここをなんとかせねばなるまい。 次に4台分のサーバの各リソースの負荷状況が確認できるページを表示してみると ズラズラと出ております。各

    muninの表示がクソ重くなっていたのを劇的に改善した話 - 元RX-7乗りの適当な日々
  • i386とx86_64の両パッケージが存在/依存関係などで、rpmパッケージが消せなかった場合の対処 - 元RX-7乗りの適当な日々

    Fedoraな某サーバ環境で、Fedora8からFedora10にアップグレード(yumに拠る)しようとしたら、どういうわけか、i386用とx86_64用のパッケージが重複してインストールされているようで、以下のエラー(conflict)が出た。 Transaction Check Error: file /sbin/dmraid.static from install of dmraid-1.0.0.rc15-2.fc10.x86_64 conflicts with file from package dmraid-1.0.0.rc14-4.fc8.i386 file /usr/share/man/man8/dmraid.8.gz from install of dmraid-1.0.0.rc15-2.fc10.x86_64 conflicts with file from packag

    i386とx86_64の両パッケージが存在/依存関係などで、rpmパッケージが消せなかった場合の対処 - 元RX-7乗りの適当な日々
    aki77
    aki77 2012/06/05
  • わずか2時間で出来た!無料でDropboxの容量を8GB増やせるチュートリアル - 元RX-7乗りの適当な日々

    先日、Dropboxの追加ボーナスを「Google Adwords」(アドワーズ)の無料お試し券で増やす話を読んで、なるほど!この発想はなかった!と思ったので、実際に自分でもやってみることにしました。 http://matome.naver.jp/odai/2132892778665913601 8GBの追加容量をもらうためには32人に紹介しなければならない 一般人が達成するのは不可能に近い人数ですよね。 http://matome.naver.jp/odai/2132892778665913601 無料お試し券があればタダで広告が出せます もらったまま放置していたアドワーズのお試し券があるなら、使うのは今だ! http://matome.naver.jp/odai/2132892778665913601 つまり、このエントリは実際にやってみて、どうやったのか、どんな感じで増やせたのかを詳

    わずか2時間で出来た!無料でDropboxの容量を8GB増やせるチュートリアル - 元RX-7乗りの適当な日々
  • grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々

    "GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。 例えば、、、 $ export GREP_OPTIONS="--color=auto"とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね! オプション無しで実行した場合 GREP_OPTIONSを設定してから実行した場合 おまけ: --colorの色を変えたい場合 環境変数 "GREP_COLOR"に色コードを指定してやると良いです。 例えば、ハイライトを黄色にしたい場合とかは、以下のような感じ

    grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々
  • HTTPで疎通やレイテンシを確認する「httping」 - 元RX-7乗りの適当な日々

    少し前に、某所のサーバ(自分たちで管理)で、通常時は問題ないのだけど、時々HTTPレスポンスで数秒かかる現象が見受けられたので、再現させるときに目視確認でひたすらHTTPリクエストが送れてレイテンシが確認できる「httping」を利用しました。 httpingは、所謂"ping"のHTTP版。HTTPリクエストでポーリングしてくれるコマンドです。ICMPは受け付けないけどHTTPはOK、そんなサーバにも監視などで使えます。 インストール Ubuntuでは、aptでインストールできました。簡単。 $ sudo apt-get install httpingこれだけです。 簡単な使い方 $ httping (URLまたはIPアドレス)で、実行可能です。以下、実行例。 $ httping http://xxx.xxx.xxx.xxx/ PING xxx.xxx.xxx.xxx:80 (http:

    HTTPで疎通やレイテンシを確認する「httping」 - 元RX-7乗りの適当な日々
  • Amazon EC2でサーバを起動したらアタックされた!ので、運用前にチェック・対策しましょうという話 - 元RX-7乗りの適当な日々

    クラウドを使っていたら、こんなことがありました。(実話) Amazon EC2用の固定IPアドレス(Elastic IP Address)を取得する Amazon EC2でサーバ(インスタンス)を起動する 先ほど取得した固定IPアドレスを、EC2のサーバに割り当てる EC2のサーバでApacheを起動する Apacheのプロセス数がいきなり250個オーバーになる(MaxClientsの値にぶつかる) Apacheのログを見ると、常識を超えた連続HTTPアクセス(DoSアタック)を受けていることが判明 EC2で、別の固定IPアドレスを取得する 取得した別の固定IPアドレスを、(アタックを受けている)EC2のサーバに割り当てなおす 静けさを取り戻す ← imkk いやー、噂には聞いていましたが、何気に初めて遭遇しました。 クラウドサービス(IaaS等)では、別のユーザが以前に利用していたIPア

    Amazon EC2でサーバを起動したらアタックされた!ので、運用前にチェック・対策しましょうという話 - 元RX-7乗りの適当な日々
  • Amazon EBSからブートしたEC2インスタンスのディスク容量を増やす&エフェメラルディスクを取り付ける方法 - 元RX-7乗りの適当な日々

    Amazon EBSは、永続的にデータを保持できるボリューム(ディスク)が扱える、Amazon EC2のストレージオプションです。 通常(instance-store)のAmazon EC2のサーバローカルに接続されているディスクは、良くも悪くも停止時(terminate)にデータが消えてしまいますが、Amazon EBSのストレージをルートパーティションとしてインスタンスを起動(EBSブート)した場合は、停止(stop)してもデータは保持されたままとなり、ディスクに対する信頼性は向上します。(instance-storeからのブートにも良い点はあります。それは別エントリで。) で、EBSブートのEC2インスタンスは、既存の(EBSブート用の)AMIから利用される方が多数だとは思いますが、このEBSブートした仮想サーバのルートパーティションのディスク容量は、デフォルトでは、AMIを作成した

    Amazon EBSからブートしたEC2インスタンスのディスク容量を増やす&エフェメラルディスクを取り付ける方法 - 元RX-7乗りの適当な日々
  • 「ウェブオペレーション - サイト運用管理の実践テクニック」を読んだ - 元RX-7乗りの適当な日々

    Webサイト運用に携わる著名なエキスパートのエッセイ集。 大変ありがたいことに、訳者/著者/出版者様よりご献いただきました。@kdmsnrさん、@hmskさん、そしてオライリー・ジャパン様、ありがとうございます! ウェブオペレーション ―サイト運用管理の実践テクニック (THEORY/IN/PRACTICE) 作者: John Allspaw,Jesse Robbins,角征典出版社/メーカー: オライリージャパン発売日: 2011/05/14メディア: 大型購入: 10人 クリック: 923回この商品を含むブログ (50件) を見る 書の編者は、Flickr等のインフラ構築を手がけ、「キャパシティプランニング」の著者でもあるJohn Allspaw氏と、Amazon.comの「Master of Disaster」(障害対応士、ウェブ可用性の責任者)を経て、現在はOpscodeのC

    「ウェブオペレーション - サイト運用管理の実践テクニック」を読んだ - 元RX-7乗りの適当な日々
  • FirefoxからSSHでターミナル接続できるアドオン「FireSSH」 - 元RX-7乗りの適当な日々

    最近、先日リリースされた「Firefox 4」を利用しているのですが、このFirefox4以降で利用できるアドオンで、Firefox(ブラウザ)から、サーバ等に"SSH"によってターミナル接続できる「FireSSH」が利用できます。 FirefoxそのものからSSHによるターミナル接続が利用できるので、新しいタブをそのままターミナルとして利用することでWebブラウザとシームレスに利用できたり、接続情報を記憶させておくことも可能です。このように簡易なターミナルとして、FireSSHは十分に利用できると思います。 インストール 「FireSSH」はFirefox 4.0以降で利用可能なので、まだアップデートしていない場合は4.0以降へのバージョンアップが必要です。 以下のFirefoxのアドオンページにアクセスし、「FireSSH」をインストールしてください。 https://addons.m

    FirefoxからSSHでターミナル接続できるアドオン「FireSSH」 - 元RX-7乗りの適当な日々
  • ある文字列をファイルの特定行に挿入するコマンド - 元RX-7乗りの適当な日々

    Linux等で、ファイルの特定の行に、ある文字列を挿入(追加)したい時のコマンド(sed)サンプルを備忘録的に。 前提 こんなファイルがあります。 $ cat test.txt line1 line2 line3 2行目に挿入 $ sed -e "2i hoge" test.txt line1 hoge line2 line3 2行目直下に挿入 $ sed -e "2a hoge" test.txt line1 line2 hoge line3 "line2"の行前に挿入 ※この辺の正規表現は、要件に応じて適当に変えてー。 $ sed -e "/^line2$/i hoge" test.txt line1 hoge line2 line3 "line2"の行後に挿入 $ sed -e "/^line2$/a hoge" test.txt line1 line2 hoge line3 sed

    ある文字列をファイルの特定行に挿入するコマンド - 元RX-7乗りの適当な日々
    aki77
    aki77 2011/03/11