タグ

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

  • Go のライトバリアに関するバグを修正した話 : DSAS開発者の部屋

    Goのランタイムのバグを踏んで解決しました。解決までの過程を記事にします。 同じようなランタイムのバグを踏んで、小さい再現コードを作れない場合の参考にしてください。 自分のプログラムを疑う あるSlackチャンネルで Go で書かれたサーバーのクラッシュが話題になっているのを見つけました。その時に共有してもらったトレースバックです。 runtime: pointer 0xc007b8af97 to unused region of span span.base()=0xc004000000 span.limit=0xc004002000 span.state=1 fatal error: found bad pointer in Go heap (incorrect use of unsafe or cgo?) runtime stack: runtime.throw(0xc046ca,

    Go のライトバリアに関するバグを修正した話 : DSAS開発者の部屋
  • 最近の Python-dev (2017-03) : DSAS開発者の部屋

    バックナンバー: 2月号 1月号 Python 3.6.1rc1 Python 3.6.1rc1 がリリースされました。大きな問題がなければ 3.6.1 は 3/20 にリリースされる予定です。 3.6.1 は Github に移行してから初めてのリリースになります。なにか問題がないか確認するために、いつものRC版以上にソース形式・バイナリ形式両方の配布物のテストが必要なので、可能な方は協力をお願いします。 Github 移行後日談 以降から1ヶ月が経ちました。開発者からのフィードバックはおおむね好評です。私は、気軽にプルリクエストをくれた人がCLAにサインしないまま放置して大量のマージできないプルリクエストが貯まることを懸念していたのですが、今までののところそれも大丈夫そうです。 一方で Misc/NEWS といういわゆる changelog にあたるファイルが頻繁にコンフリクトを起こし

    最近の Python-dev (2017-03) : DSAS開発者の部屋
  • Android/iOS向けテストアプリ配信ツール 「EMLauncher」を公開しました : DSAS開発者の部屋

    先日、TestFlightのAndroidサポート終了、Appleによる買収といったニュースが世間を騒がせましたが、皆さんテストアプリの配信はどうしていますか? KLabでは自社製のテストアプリ配信ツール「EMLauncher」を使用しているのですが、せっかくなのでOSSとして公開することにしました。 https://github.com/KLab/emlauncher 今すぐ試す 今すぐ試したい方のために、セットアップ済みのAWS EC2イメージを用意しました。 ami-9b295f9a EMLauncher Sample インスタンスを起動後、設定ファイルのAWSアカウント情報を編集し、S3のバケットを作成してください。 (設定の詳細はconfigディレクトリのサンプルをご覧ください) /home/ohoflight/emlauncher/config/emlauncher_confi

    Android/iOS向けテストアプリ配信ツール 「EMLauncher」を公開しました : DSAS開発者の部屋
    uk-ar
    uk-ar 2014/03/04
  • ISUCON 3 予選参戦記 : DSAS開発者の部屋

    10/5 土曜日はISUCON 3 の予選一日目に参加していました。 KLab からは 2 チームが、「ぜかまし」は Go, 「真面目系社内ニート 」は PHP での参戦でした。 私は「ぜかまし」で、結果は2位で戦進出が決まりました。 その時のコードがこちらになります methane/isucon3-qual-go 振り返り まずは、 tmux に残っていたベンチマーク履歴をご覧ください 2013/10/05 17:33:46 Score: 2485.3 2013/10/05 17:35:08 Score: 2021.4 2013/10/05 17:36:24 Score: 1786.6 2013/10/05 17:43:33 Score: 13635.2 2013/10/05 17:46:20 Score: 13882.8 [OK] 結果を管理サーバに送信しました 2013/10/05

    ISUCON 3 予選参戦記 : DSAS開発者の部屋
    uk-ar
    uk-ar 2013/12/03
  • Isucon2参戦記 (序) : DSAS開発者の部屋

    #isucon2 参戦記を私と @pandax381 とで交互に書くことになりました。 今日は私の視線で前半戦についてまとめます。 課題、襲来 isucon2 の課題が発表されました。今回の課題はチケット販売サイトらしいです。 スコア算出方法が (完売までの時間[ms] - 0.001*GET数 - 0.01*完売後の処理数) と発表されましたが、 課題とスコア算出方法だけでは今回のキーポイントがどこになるのかが判りません。 事前の打ち合わせ通り、 @pandax381 には負荷試験を実行してHTTP/TCPレベルでの観察をお願いし、 私はアプリケーションを実際に使ってみながらソースコードやDBのスキーマと見比べて、 アプリケーションの仕様を把握しました。 この時点で、 "/ticket/<ticketid>" というパスのHTMLが500KB程度あるのを見つけました。 1Gbpsのイーサ

    Isucon2参戦記 (序) : DSAS開発者の部屋
    uk-ar
    uk-ar 2012/11/10
  • Isucon2参戦記(Q) : DSAS開発者の部屋

    男の戦い recaro が使えないことになってメゲそうになったものの、 やれることがまだまだ残っているのに何もせずに負けるわけにはいきません。 「逃げちゃダメだ逃げちゃダメだ」と呟きながら、残り2時間弱でできそうなことは 全部やってしまいます。 @pandax381 に、リバースプロクシで静的ファイルを直接返す設定、死んだ Web サーバーの 代わりにリバースプロクシと同じサーバーとDB サーバーでWebアプリを動かす設定をお願いして、 Webアプリのチューニングを進めます。 Webアプリ側でやったことは、 (1) Webサーバーの meinheld 化, (2) ページキャッシュを アプリから返すのでその高速化, (3) マルチプロセスの対応とチューニング, です。 (3) のマルチプロセス対応ですが、もともとアプリはシングルプロセスで動かすつもりで、 状態やページキャッシュを全部アプリ

    Isucon2参戦記(Q) : DSAS開発者の部屋
    uk-ar
    uk-ar 2012/11/10
  • Isucon2 参戦記(破) : DSAS開発者の部屋

    #isucon2 参戦記の第二部です。昨日の @methane の記事とオーバーラップする部分もありますが、僕の視点で当日の状況をレポートします。やっと nexus7 が手に入ってご機嫌な @pandax381 です。 決戦、渋谷ヒカリエ 当日寝坊してしまうという笑えない展開もなく、受付け開始と同時に入館し、すぐに @methane と合流。開始時間まで1時間くらい余裕があったので「こんな問題だったらここをこうしよう」といった感じで軽く打ち合わせしていました。 そして、@methane が共同作業用にAWSのインスタンスを上げてくれたので、そこに recaro のソースを持ってきたりしていたら、ちょうどいい時間に。 NHNさんからレギュレーションや注意事項の説明があり、いよいよ #isucon2 スタートです。 事前の打ち合わせ通り、僕はベンチマーク用のツールを走らせながら、どんなHTTP

    Isucon2 参戦記(破) : DSAS開発者の部屋
    uk-ar
    uk-ar 2012/11/10
  • #isucon2 に向けて、かなり間違った方向に本気出してみた(recaro 誕生秘話) : DSAS開発者の部屋

    先日、NHNさん主催の #isucon2 に @methane と参加してきたので、事前準備や当日の状況などを数回に分けてレポートしようと思います。#isucon2 が終わって少し体調を崩していた @pandax381 です。 すべてはここから始まった 社内のIRCチャンネルで #isucon2 の開催が話題になっていて、隣の席の @methane が真っ先に参加を表明し、パートナーを募集していました。僕はというと、面白そうだなぁと思いつつも、WebアプリとかDBとよくわかんないし戦力にならんだろうと「椅子投げコンテストw」とか言ってスルーしていたんですが、@methane から「一緒に出ようぜ!」とルフィばりの熱い誘いを受け、参加を決意することになりました。ちょうど #isucon2 開催1ヶ月前の話です。 L7未満は全部なんとかしてくれ! そんなこんなで #isucon2 への参加が決

    uk-ar
    uk-ar 2012/11/07
  • Isucon用Webサーバーrecaro : DSAS開発者の部屋

    11/3に開催された #isucon2 に、隣の席の @pandax381 と一緒に、チーム双龍として参加してきました。 結果は惨敗だったのですが、そのレポートを書く前に、 #isucon2 で使う予定だった秘密兵器 recaro について紹介します。 recaro とは recaro はカーネル空間で動く httpd + memcached サーバーです。 httpd サーバーは @pandax381 が作成した tkhttpd で、 memcached は kmemcached というプロジェクトが 未完成のまま放置されていたのを見つけて、私がデバッグ&高性能化したものです。 (KLab/kmemcached) 通常のnginx+memcachedだと ネットワーク <- TCP/IP ]-> nginx <-[ TCP/IP ]-> Memcached ([] はシステムコール) と

    Isucon用Webサーバーrecaro : DSAS開発者の部屋
    uk-ar
    uk-ar 2012/11/06
  • ログからは見えてこない高負荷サイトのボトルネック : DSAS開発者の部屋

    ちょうど1年前に「高負荷サイトのボトルネックを見つけるには」という記事を掲載していますが、この手のトラブルシューティングって結構大変で悩ましいですよね。はじめまして、新入りの@pandax381です。 ログからは見えてこないもの 「サイトの応答が遅い」という問題が発生した場合、その原因はどこにあるでしょうか。 Webアプリケーションの処理に時間が掛かっている DBサーバに投げたクエリーの応答が遅い サーバの処理能力を超えている などなど、いくつもの可能性があります。通常、上に挙げているような問題は、アプリケーションやサーバのログを調査することで、原因を突き止めることができます。 一方で、こういったログの調査だけでは、その原因にたどり着くことができなかったり、相当な苦労が伴うケースもあります。 あるサイトのある日の出来事 つい先日のことですが、KLabの運営している某ソーシャルゲームにて、サ

    ログからは見えてこない高負荷サイトのボトルネック : DSAS開発者の部屋
    uk-ar
    uk-ar 2012/07/08
  • 高トラフィックに対応できるLinuxロードバランサを目指して 〜 LVSをNATからDSRへ : DSAS開発者の部屋

    「こんなに簡単! Linuxでロードバランサ」のシリーズでは、 こんなに簡単! Linuxでロードバランサ (1) 〜 LVS + NATで負荷分散をしてみよう こんなに簡単! Linuxでロードバランサ (2) 〜 keepalivedでWebサーバのヘルスチェック こんなに簡単! Linuxでロードバランサ (3) 〜 VRRPでロードバランサを無停止にする こんな流れでNATによる負荷分散システムを構築してきました。 今回はこれを DSR(Direct Server Return) 方式に変更してみます。 「DSRとはなんぞや?」という方は、 ロードバランサの運用.DSRって知ってますか? L4スイッチはDSR構成にすべし こちらでわかりやすく説明されていますので参考にしてみてください。 一般的(?)に大規模システムを構築する場合は、「ネットワーク機器の整備はこの部門」、「サーバの調

    高トラフィックに対応できるLinuxロードバランサを目指して 〜 LVSをNATからDSRへ : DSAS開発者の部屋
    uk-ar
    uk-ar 2010/01/28
    「こんなに簡単! Linuxでロードバランサ」のシリーズでは、 こんなに簡単! Linuxでロードバランサ (1) ~ LVS + NATで負荷分散をしてみよう こんなに簡単! Linuxでロードバランサ (2) ~ keepalivedでWebサーバのヘルスチェック こ
  • Windows用ソフトウェア「イージスガード」を公開します : DSAS開発者の部屋

    「イージスガード」は Windows PC 上のデータをウイルスやマルウェアの脅威から守るためのソフトウェアです。KLab は個人向けにこのソフトウェアの無償公開を開始しました。 イージスガードには次の機能・特長があります。 所定のフォルダ・ファイルを保護対象として設定可能 許可しないプログラムからのアクセスを報告・記録する 許可しないプログラムからのアクセスを透過的にダミーフォルダへ誘導 PC 環境に応じて保護設定を自動生成する 改変されたプログラムからのアクセスを抑制する 有効なデジタル署名つきのプログラムには自動的に許可を与える イージスガードは、以前このブログでご紹介した「WinAmulet」を母体とする上位互換のソフトウェアです。WinAmulet ユーザ各位のご支援のおかげで、多くの機能を追加し大きく性能を改善したこの新しいソフトウェアが生まれました。もちろん、WinAmule

    Windows用ソフトウェア「イージスガード」を公開します : DSAS開発者の部屋
    uk-ar
    uk-ar 2010/01/25
    「イージスガード」は Windows PC 上のデータをウイルスやマルウェアの脅威から守るためのソフトウェアです。KLab は個人向けにこのソフトウェアの無償公開を開始しました。
  • chumbyにsshログインしてオレオレswfを実行するまでのメモ : DSAS開発者の部屋

    もうすぐChumby Niteが開催されるようですが、 たまたま某所からchumbyをお借りしたので、chumbyハックの導入として、 sshでログインできるようにする 自作のswfファイルを実行する ところまでのメモを残しておきます。 事前にやること - アカウントを作る chumbyが届いたら 無線LANに繋げる アクティベーション sshでログインできるようにする sshd起動の制御 (おまけ) FBCGI - chumbyの画面をPCブラウザでみる 自作swfを動かしてみる chumbyでサポートしているFlashのバージョン swfを実行する方法 (1)直接実行 (2)チャンネルの中から実行 swfファイルを作る Hello World! こんにちわ!こんにちわ! 事前にやること - アカウントを作る 予めchumbyのサイトでアカウントを作っておきます。chumby体をアクテ

    chumbyにsshログインしてオレオレswfを実行するまでのメモ : DSAS開発者の部屋
    uk-ar
    uk-ar 2010/01/25
    もうすぐChumby Niteが開催されるようですが、 たまたま某所からchumbyをお借りしたので、chumbyハックの導入として、 * sshでログインできるようにする * 自作のswfファイルを実行する ところまでのメモを残しておきます
  • IPMIで遠隔からサーバの電源をオン/オフ : DSAS開発者の部屋

    みなさん、IPMI (Intelligent Platform Management Interface) ってご存じでしょうか? Wikipedia - IPMI IntelのIPMIのページ 簡単に説明すると、IPMIとは、OSに依存することなく、遠隔からハードウエアをモニタしたり管理したりするためのものです。 DSASでは、Supermicroのサーバを使っているので、AOC-IPMI20-EというIPMIカードを使っています。 具体的にこのカードで何ができるようになるか、というのを列挙します。 コンソールリダイレクション 温度、電圧、ファン回転数の確認 リセット 電源のオン/オフ これらのことが、LinuxだろうがWindowsだろうがOSに依存することなくできるようになります。 しかも! これらの操作がネットワーク経由 (UDPのポート623) でできるんです。 IPMIを導入す

    IPMIで遠隔からサーバの電源をオン/オフ : DSAS開発者の部屋
    uk-ar
    uk-ar 2009/11/26
    簡単に説明すると、IPMIとは、OSに依存することなく、遠隔からハードウエアをモニタしたり管理したりするためのものです。 DSASでは、Supermicroのサーバを使っているので、AOC-IPMI20-EというIPMIカードを使っています。 具体的
  • 1