ノートPCで作業してると、移動時ネットワークが切れて ssh セッションが切れ、仮想端末は screen/tmux で状態復元が可能ですが、port forwarding なんかを活用してる場合再接続がめんどくさかったりしますよね。あれ、切れてるジャン…みたいな。 そんな場面が多い場合、 autossh を使うと便利です。 http://www.harding.motd.ca/autossh/
学びたい言語のネイティブ同士での相互添削サービス Lang-8は学びたい言語で日記を書くサービスです。 英語を学びたい人は英語で日記を書きます。 そうすると、その書いた英語の日記は英語圏の人に添削をしてもらうことが出来ます。 Lang-8には日本語を学びたい海外の人も、日本語で日記を書いています。 そこで、僕ら日本人はその日本語で書かれた日記を添削してあげるのです。 つまり、ネイティブ同士で学びたい言語を相互に添削しあうです。 例えば「日本人で英語が学びたい人」 と 「イギリス人で日本語を学びたい人」 が、お互いの日記を添削しあうことが出来るのです。 お互い学びたい言語を教え合うのです。 ちなみに、昨日の僕のLang-8の画面。こんな感じで添削し合います。 僕はスマホで電車中など移動中にやってます。 PCよりスマホの方が辞書アプリが使えるので便利なのです。 ほとんどソーシャルゲーム感覚でL
追記 2/22 毎回微妙に追記していますが、今回も追記です。最後にmongodbのinsert性能について80lines/secで厳しくなった、と書いてますが、環境か設定まわりがあやしいので訂正します。もうすこし検証してみようと思います。 → 検証して fluentd側の設定の問題であることが分かりました。詳しくは、http://blog.stanaka.org/entry/2013/02/22/171053 追記ここまで 最近は、fluentd + mongodb でログを蓄積していろいろ便利に使っているわけですが、数分に一回集計スクリプトを周したり、 GrowthForecast の画面をリロードしまくるのではなく、もっとリアルタイムで見たい! という欲求が募ってきたので、 node.js を使って実装してみました。( https://github.com/stanaka/realti
斎藤です。 今日は、RRDToolを使って、今後かかる負荷を手軽に予測する方法をご紹介します。あわせて、プログラムと連携して性能限界を越えそうなサーバがあるかを判定してみます。人手ではまかないきれない数のサーバに対して、一台ずつ問題の予兆を調べるときなどにお試しください。 ※CentOS 6.3 (64bit) + RRDTool の2013/2/20頃の最新ソースを用いて試しています 「限界」を早く知りたい! ITインフラを運用している方の多くは、Cacti, Munin等で負荷を日々モニタリングされているかと思います。モニタリングしたデータを用いて今後を予測する際、どのようにされていらっしゃいますでしょうか?描かれたチャートの動きをもとに、経験と勘を駆使して「ヨイショ!」っとされている方も、いらっしゃるのではないでしょうか。 特に、ディスク容量やネットワークトラフィック等、根本的な対策
1. SPDYブーム到来 おかげさまで、ここ数日 SPDY が私の周りで非常にブームになってきています。 前回案内したSPDY&WS勉強会は既に200名以上の申し込みがあり、今ではSPDYネタでブログを書くと非常に注目されるうれしい状況です。時代はまさに、 SPDYはハイプサイクルを順調に駆け上がっている 状況だと思います。 図1:2012年のハイプサイクル: 図はガートナー社のプレスリリース http://www.gartner.co.jp/press/html/pr20120906-01.html から引用 SPDYが、まだ黎明期に入ったばかりなのか、それとも既にピーク期に入ったのか、それは歴史が証明してくれるでしょう。 ということで勉強会までSPDY熱が冷めないよう、私もいろんなSPDYネタを出していきたいと思います。 2. GmailがハマったSPDYの落とし穴とは 先日、 Goo
「特定CPUコアでのボトルネック」と「リソースの奪い合い」が2大ボトルネック 第2回、第3回ではディスクI/Oボトルネックについて説明しました。レスポンスとスループットの関係を正しく理解し、I/Oスループットを最大化するようチューニングすれば、ほとんどの大規模処理は速くなります。ユーザもハッピー、皆さんもハッピー、さて家に帰りましょう。 ……しかし、次はだれかからこう聞かれることでしょう。 「CPUの使用率が異様に低いままなんだけど……?」 「CPUの使用率がずっと100%で張り付いているんだけど……?」 どっちやねん!と思うでしょうが、どちらも大規模データを処理するときに特に起こりえる問題です。 ボトルネックは、1つが解消すると、新たなポイントが明らかになるものです。そして多くのケースにおいて、ディスクI/Oボトルネックが解消した場合、次に詰まるのはCPUなのです。 CPUボトルネックは
■はじめに 弊社でも、ピグライフをはじめとしてモバイルゲームなどのサービスでMongoDBを使い始めています。 運用に関してはMySQL等にはまだノウハウ的にはかなわないものの、NoSQLのジャンルの中では有用なプロダクトであるといえるかと思います。 ですが、運用に関しての共有ができておらず、有効な使い方ができていないパターンも多いです、そのため運用に関してノウハウを共有するための資料を作成しました。 ■概要/特徴 MongoDBには以下のような特徴がある ● BSONによる、JSONによるスキーマレスなデータ運用 これにより、柔軟なデータ構造をわかりやすく表現できる。 加えてスキーマレスなため、データの構成を柔軟に帰ることが出来る ● レプリカセットによる冗長化対応 MySQLでも、マスタを冗長化するためには、MySQLCluster、MHAなどのプロダクトがあ
トランザクションってなーに?mix3です 同時更新処理 スレーブ遅延のときにSELECT > UPDATEで古い情報をもとにUPDATEしてしまうと不整合が発生すると書きましたが、 たとえば同じ行を複数で同時にSELECT > UPDATEすると同じように不整合が発生することがあります。 AがT1からSELECT BがT1からSELECT AがT1をUPDATE BがT1をUPDATE このような順序で更新がかかると、BがAの更新を上書きしてしまうため、実質Aの更新が無かった事になってしまいます。 これも更新がアトミックであれば発生しないので可能であればアトミックな更新にするのが良いですが、更新が複数ある場合はそういった変更も出来ません。 そんなときこそトランザクション。そんなふうに考えていた時期が僕にもありました。 で、そういうときはトランザクションを使う物だと思っていました。トランザク
非効率なクエリが投げられてMySQLサーバが悲鳴をあげることがあります。 DBAは、そんなときに「こんなクソクエリ投げてんじゃねーよ(ノ`Д´)ノ彡┻━┻」と言えるようにダメクエリを探し出せるようにしておく必要があります。 スロークエリログ スロークエリログを出力するようにする my.cnfにこのように書いておくと、実行に指定時間以上を要したクエリが指定ファイルに出力されるようになります。 ※MySQL5.0以前のバージョンは書き方が異なるので注意 この例では、「実行に0.5秒以上かかったクエリを/var/log/mysql/slow.logに吐く」ようになります。 [mysqld] slow_query_log=1 slow_query_log_file=/var/log/mysql/slow.log long_query_time=0.5 漢(オトコ)のコンピュータ道: MySQL 5
皆様、新年あけましておめでとうございます。2012年は、皆様にとってどのような1年になりましたか? 今年も、Flashストレージの観点から幾らか最新事情を紹介させていただければと思います。今回は、Fusion-ioの独自テクノロジである、Flashメモリの利点を引き出すためのioMemory SDKを通して、Flashメモリが今後のどのように活用できるかを考えていきたいと思います。 ioMemory SDK ─FlashメモリへのネイティブアクセスAPI これまでNAND Flashメモリは、ハードディスクの代替として、USBメモリやCFやSDカード、SSDといったブロックデバイスとして使われてきました。しかし、Flashメモリには、Flashメモリならではの利点があります。 Fusion-ioではFlashメモリに対して、これまでのブロックデバイスとしてではなく、新たなアクセス手段として
ひっそりと、Webサービスをリリースしました。 http://tag-chat.net で、チャットがメインのSNSです。 自動でマッチングしてチャット相手を見つけてくれるマッチングチャットや、すぐにチャット相手を見つけてくれるフリーチャット、コミュニティチャット、フレンドチャットなど、とにかくチャットがメインのSNSです。 ■自分について 昨年の4月から、プログラムを学び始めた素人。22歳。札幌在住。 ■今更SNSを作ろうと思ったきっかけ FaceBookがウザい。というか嫌い。 これがきっかけ。 顔本が良いSNSだと話題になっていたので、実名登録してみた。大学の知り合いが見つけてくれて、友達登録などが増える。(ほとんど話したことがない人からも友達登録が来て、「おぉ!これで俺も友達が増えるんだ!」とワクワクしていた)。 が、流れてくるのは自慢ばっかり。 コミュ障で彼女はおろか、女友達もほ
row-basedなreplicationの場合はreplicationの対象が文字通りrow=dataであるため特にtrigger, function, procedureの動作について懸念点はないと思われます。でも、MySQLで既に多くの人が使っているであろうstatement-basedなreplicationの場合はどうなるの?masterだけで実行されるの?それとも両方で実行されるの?両方で実行されるとしたらデータの整合性とかはどうなるの? これらの疑問への答えはだいたい以下のドキュメントに書いてあるようですが、日本語版は「お前は何を言っているんだ」という部分が多々あり、英語版を読んでもあまり実際の動作がイメージできなかったので確認を兼ねて自分で試すことにしました。 http://dev.mysql.com/doc/refman/5.1/en/replication-featur
MySQLのスロークエリログ(複数行)を一つのメッセージとしてemitするOutputプラグインを書きました。 同じようなことをしてくれるInputプラグイン*1がすでにあって、がっつり使っていたのですが、入力にfluent-agent-liteを使いたかったために作成しました。 fluent-plugin-mysqlslowquerylog | RubyGems.org | your community gem host studio3104/fluent-plugin-mysqlslowquerylog · GitHub ユースケース こんな感じのスロークエリログが、 # Time: 130107 11:36:21 # User@Host: root[root] @ localhost [] # Query_time: 0.000378 Lock_time: 0.000111 Rows
みなさんはデータベースの管理・運用はどのようにしていますか?私はWebシステムを作るとき、PHP+MySQLの組み合わせで作っていて、DBの管理にはPHPMyAdminを使っていました。 システムを作るとき、データベースにデータがちゃんと入っているか調べたり、不要なデータを消したり、新しくテーブルを作ったりするとき、コマンドでもできますが、見辛くてしょうがありません。 ということで、GUIベースのソフトがほしくなりますよね。それで、MySQLの管理はこれまでブラウザでデータベースの管理が出来るPHPMyAdminを使ってきました。しかし、最近になってMacアプリで、もっと使いやすいソフトを知ったのです。 PHPMyAdminの不満点 まずはじめに、「ある程度時間が経つと、セッションが切れてしまう」こと。これはセキュリティ上仕方ないことだと思いますが、例えばあるテーブルの中身を表示しようと
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く