タグ

ブックマーク / qiita.com/cubicdaiya (4)

  • Gaurun〜A general push notification server in Go〜 - Qiita

    Go Conference 2015 Summerでトークが採択されたこともあるので、自分が所属している会社で開発しているプッシュ通知サーバであるGaurunをOSSで公開しました。詳しくは2015年6月21日開催のGo Conference 2015 Summerで・・・というのもアレなので軽くGaurunについて紹介します。 メルカリのプッシュ通知システムの構成と変遷 昨年9月にメルカリに入社した当時、メルカリのアプリ内で発生したイベントのプッシュ通知処理はすべてPHPで書かれたAPIサーバ上で同期処理(!)として実装されていました。例えばAPIサーバにコメント書き込みのリクエストが来たらコメントのデータをDBに書き込んだ後プッシュ通知を行ってクライアントにレスポンスを返す、という具合にです。 当然のことながらスマートフォンアプリでよく利用されるAPNSやGCM(あるいはAmazon

    Gaurun〜A general push notification server in Go〜 - Qiita
  • nginxのパラメータチューニングとh2o - Qiita

    (追記:タイトルが少々煽り気味な気がしたので微妙に変更しました。) h2oとnginxの性能比較 nginxよりも速いとされるh2oですが、実際に自分でもローカルでベンチマークを取ってみました。環境は以下の通りです。 EC2のc4.8xlargeインスタンス gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-16) Linux ip-172-31-13-40 3.14.35-28.38.amzn1.x86_64 #1 SMP Wed Mar 11 22:50:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux nginx-1.8.0 h2o-1.2.1-alpha1 wrk(ベンチマーク) ベンチマークコマンド 実行するベンチマークコマンドは以下になります。なお、オプションはできるだけRequest/secが大きくなるように調

    nginxのパラメータチューニングとh2o - Qiita
  • nginxのリクエストボディのバッファリングに関する問題とその改善策 - Qiita

    nginxのデフォルトの動作ではクライアントから受け取ったリクエストボディをメモリにバッファリングするようになっています。 このメモリバッファのサイズはclient_body_buffer_sizeで変更することができ、リクエストボディのサイズがこのバッファのサイズを越えた場合はclient_body_temp_pathにファイルとして書き出されます。 ログレベルがwarn以上の場合はエラーログにa client request body is buffered ...という警告が出ます。 2015/03/29 14:02:20 [warn] 6965#0: *1 a client request body is buffered to a temporary file /etc/nginx/client_body_temp/0000000001, client: x.x.x.x, ser

    nginxのリクエストボディのバッファリングに関する問題とその改善策 - Qiita
  • Goサーバのモニタリング - Qiita

    5日目担当の@cubicdaiyaです。先月末のGoConではGoのカンファレンスなのにほぼnginxをビルドする話しかしてなかったので今日はちゃんとGoの話をします。 Goで書くサーバプログラム Goではサーバプログラムを書くためのユーティリティが豊富に揃ってる上に、ゴルーチンやチャネルを利用することで高いパフォーマンスが要求される環境でも十分な性能を発揮することができます。いつだったか「あれはHTTPサーバ書くための言語ですよ」なんて話をとあるエンジニアから聞いたことがあるくらいです。 例えば「Hello, World!」を返すだけのHTTPサーバであれば標準ライブラリのnet/httpを利用することで以下のように書くことが出来ます。 package main import ( "fmt" "net/http" ) func handler(w http.ResponseWriter,

    Goサーバのモニタリング - Qiita
  • 1