タグ

ブックマーク / dsas.blog.klab.org (7)

  • 生活を「不自由」にするためのソリューション : DSAS開発者の部屋

    自分の自由を拘束してみることの価値 生活をより便利にするための製品やサービスの開発と普及が加速しています。新しいものは大いに活用したいところですが、一方で利便性への過剰な没入はしばしば怠惰・依存・不健康といった負の要素と背中合わせであることにも注意しておきたいものです。 近年、スマートホーム等のキーワードに象徴される光景とは逆向きにあえて利用者に不便を強いるための機器が出始めていることを知り関心を持ちました。 不自由さのあとの自由からはその恩恵をあらためて新鮮な思いで学ぶことができるでしょう。あるいは、今まで自分にとって重要で欠かせないと思っていたものとの関係を見直すきっかけとなるかもしれません。そのように、普段あまりに見なれた自由との間に距離をおいてみる試みは、自分の日常への向き合い方を考えるための材料のひとつになりえるのではないでしょうか。 ずいぶん昔に読んだ、故・中島らもさんのエッセ

    suginoy
    suginoy 2019/05/24
  • iPhone 用アプリ「ExifSafe」について : DSAS開発者の部屋

    先日の記事 「Exif データにアクセスするコードを自作してみる」 では、よく知られた存在でありながらプログラムを書く際にブラックボックスとして扱われがちな Exif の仕様と構造の整理を行い、既存のライブラリへ依存せずに Exif データを操作することを目的に作成したコードを紹介しました。当初はパーサとしての機能がメインでしたが、後日以下の機能を実装しました。 所定の IFD の削除・追加 Exif タグフィールドの削除・追加・変更 Exif サムネイルデータの取得 また、このコードを実際に使って次のような iPhone 向けアプリを試作してみました。 「ExifSafe」という名前をつけています。 アルバム上の所定の画像に含まれる Exif データを一覧表示 Exif データに GPS 位置情報が含まれる場合はマップで撮影地点を表示可能 画像をメールで送信 Exif データを丸ごと削除

    iPhone 用アプリ「ExifSafe」について : DSAS開発者の部屋
  • DSAS for Social での MySQL のボトルネックと今後の方針 : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の5日目です。 @methane による MySQL を骨までしゃぶるチューニングシリーズ (シリーズ名は今考えました)のまとめとして、現在の DSAS for Social の MySQL のリアルな性能値や直面しているボトルネックを赤裸々に公開 してしまいます。 innodb_io_capacity を増やそう 題に入る前に、まだ紹介してないけど1記事にするほどではなかった パラメータを紹介しておきます。 innodb_io_capacity は、 InnoDB に教えるヒントで、 Disk の IO/sec を指定します。 デフォルトでは、通常のHDDでも使えるように中途半端な値(バージョンによって100か200) になっているのですが、BBU付きバッファがあるRAIDカードを使うな

    DSAS for Social での MySQL のボトルネックと今後の方針 : DSAS開発者の部屋
    suginoy
    suginoy 2011/12/08
  • クエリキャッシュは切ったほうがいいんじゃなイカ? : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の2日目は、昨日に引き続き、MySQLを骨までしゃぶるためのテクニックです。 ソーシャルゲームは一般サイトよりもDBへの更新クエリの割合が多くなりがちです。更新クエリが多いMySQLでは、通常は有益なクエリキャッシュが無益どころか有害になります。 そもそもキャッシュヒット率が低い。20%以下なんてこともザラにある しかもクエリキャッシュの更新はグローバルなロックを取得する からです。特に後者は問題です。ただの参照クエリもクエリキャッシュを更新する上に、更新クエリはクエリキャッシュの全エントリをチェックして、更新したテーブルに影響がありそうな全キャッシュをdiscardしていくためです。たとえばユーザーの行動力のようなパラメータを格納した参照も更新も多いテーブルでクエリキャッシュが有効になって

    クエリキャッシュは切ったほうがいいんじゃなイカ? : DSAS開発者の部屋
    suginoy
    suginoy 2011/12/05
    「クエリキャッシュの更新はグローバルなロックを取得する」
  • チューニンガソンで優勝してきました : DSAS開発者の部屋

    7/9(土)にチューニンガソン というイベントに参加して優勝してきたので、その報告と、何を考えてどんなチューニングをしたのかを 記憶の範囲で公開したいと思います。 今回のチューニンガソンのお題は、WordPress(ja) + php + Apache + MySQL で、 ab を使って wp-comment.php 経由でコメントのポストをすることで計測が行われました。 MySQLとApacheを立ち上げたらWordPressが動く環境が渡され、そのWordPress自体は設定ファイルを含めて 改造が一切禁止、WordPressの実行をショートカットするチートも禁止です。 0. 試合前日 環境がAWSとAMI Linuxということは事前に公開されていたため、前日にAWSに登録して少しだけAMI Linuxを 触ってみました。yumベースだけどCentOSと違って結構新しいバージョンが用

    チューニンガソンで優勝してきました : DSAS開発者の部屋
  • 高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋

    はじめに アクセスが急増すると、応答時間が著しく悪化するサイトはありませんか? 普段は200ミリ秒以内で安定してアクセスをさばいているのに、イベントやらキャンペーンやらを開始した瞬間から、普段の2倍や3倍のアクセスが殺到し、その結果、レスポンスタイムが3秒とか9秒とかかかるようになってしまうことってありますよね。 あるサイトの実状 つい先日まで、そんなサイトが私の目の前にもありました。自社で運営している某ソーシャル系のサイトなんですが、イベント開始時刻と同時にアクセス数が急増するのです。とはいえ、所詮は普段の2倍とか3倍程度の数なのだから、少なくとも1秒以内にレスポンスを返せるくらいの性能は維持したいものです。 しかし実際は困ったことに、応答に3秒以上もかかってしまう処理が大量に発生してしまう状況に陥ってしまっていました。これはきっと、どこかにボトルネックがあるに違いありません。 仮説を立

    高負荷サイトのボトルネックを見つけるには : DSAS開発者の部屋
    suginoy
    suginoy 2011/07/10
    こういうのドンドンください。
  • linux のシステムコールをフックする : DSAS開発者の部屋

    最近、とあるクローズドソースなデバイス管理ツールの挙動が気になり、その動作について解析してみることにしました。 プログラムをデバッグしたり解析したい時、どんなシステムコールが呼ばれ、どのような引数が渡されているかを、調べることができる strace は非常に有用です。 しかし、strace では ioctl で渡される複雑なデータ構造を表示することはできないため、システムコールをフックして引数を表示するという手段を取ることにしました。 そんな訳で linux でシステムコールをフックする方法について調べて見たところ、意外といろいろな方法が有ることを知りましたので、試してみた方法を幾つか紹介したいと思います。 注)今回の実験に使用した linux kernel のバージョンは 2.6.25.11 です。異なるバージョンではこの実験通りにはならない場合があります。 LD_PRELOAD を使っ

    linux のシステムコールをフックする : DSAS開発者の部屋
    suginoy
    suginoy 2008/07/26
  • 1