タグ

ブックマーク / hb.matsumoto-r.jp (7)

  • 家族やプライベートを犠牲にして仕事や実績を得ていたことから目を背けられなくなった件

    新型コロナウィルスの影響によって、急激に働き方が変わってきた。コロナ禍の初期、大体1年目においては、まだタイトルのような「家族やプライベートを犠牲にして仕事や実績を得ていた」ことから目をそむけることができていたし、なんとなくモヤモヤしていたけれど、そのような考えにある種至っていないような感覚であった。 コロナ禍の初期は、働き方が一気にオフラインからオンラインになって、出張や勤務など多くの時間的な制約から解き放たれ、随分と様々なオンラインの取り組みやコミュニケーションに参加しやすくなった。また、そのタイミングで僕はInfraStudyと呼んでいる大規模オンライン勉強会を企画し、運営してきた。 そういった様々なオンライン上の取り組みの中で「オフラインだったら夜の勉強会や懇親会に参加できるけれど、オンラインだったら家族もいるし難しい」といったような話を聞くことが増えてきた。その時僕は、正直、なぜ

    家族やプライベートを犠牲にして仕事や実績を得ていたことから目を背けられなくなった件
  • 特定条件下のclone(2)を4倍速くする - 人間とウェブの未来

    とあるサーバで妙にシステムCPUの使用率が高い現象が置きておりました。 そこで、まずはざっくりとperf topでプロファイルをとってみると、以下のようになっていました。 22.38% [kernel] [k] copy_pte_range 18.44% [kernel] [k] zap_pte_range 11.13% [kernel] [k] change_pte_range 3.58% [kernel] [k] page_fault 3.32% [kernel] [k] page_remove_rmap また、各プロセスのstraceを眺めていると、cloneで0.05秒とかなり時間がかかっているようです。これだと単純計算で1コアで秒間20回のcloneでコア100%占有してしまう程度の非常に低速な処理しかできないことになります。 sudo strace -T -o/dev/stdo

    特定条件下のclone(2)を4倍速くする - 人間とウェブの未来
  • H2Oのmruby拡張が実用的になってきた件 - 人間とウェブの未来

    H2Oにmruby拡張の提案を行いmergeされてから幾つかのPRを経て、少しずつ実用的になってきました。 github.com 今日は簡単にその使い方を紹介しようと思います。 h2o_mrubyを有効化したh2oをビルド h2o_mrubyを有効化してビルドするのは簡単で、OSのライブラリ環境(/usr/lib/以下とか)にlibmruby.a等のmrubyライブラリがある状態で、 cmake -DWITH_MRUBY=ON . make h2o するだけで、h2o_mrubyが有効化されたh2oバイナリがカレントにビルドされます。簡単ですね。 またこの記事も参考にすると良いかもしれません。 qiita.com 使えるメソッド mod_mrubyやngx_mruby程メソッドはまだ充実していませんが、少しずつ使えるものを実装しています。また、mod_mrubyやngx_mrubyとの互換

    H2Oのmruby拡張が実用的になってきた件 - 人間とウェブの未来
    karupanerura
    karupanerura 2015/07/22
    すごい!
  • h2o_mruby v0.0.1をリリースしてみた - 人間とウェブの未来

    そういえば今から3年前に、 blog.matsumoto-r.jp blog.matsumoto-r.jp などなどの実装を開始しました。色々と懐かしいですね。そして時代は進み.... H2Oは言わずと知れた id:kazuhooku さんが中心となって開発されているWebサーバですが、そのモジュール実装はどうなっているのかなーと思い、調査ついでにh2o_mrubyをざっと実装してみました。 h2o-mrubyがのぞまれる— Kazuho Oku (@kazuho) 2015, 6月 9 一旦は、ApacheのDSOのような形で実装する方法がパッと見思いつかなかったので、まずはH2Oをフォークしてhandlerモジュールとして実装し、一部体も弄る形で実装してみました。 github.com 今日は家の用事で出社が昼飯時になってしまい、ちょうどそのタイミングでやってみようかな?と思っちゃっ

    h2o_mruby v0.0.1をリリースしてみた - 人間とウェブの未来
    karupanerura
    karupanerura 2015/06/23
    sugoi
  • virtualingでchroot配下のプロセスを簡単にリソース制御してみよう - 人間とウェブの未来

    virtualingとはkazuhoさんの低コストでchrootするためのjailingと、mruby-virtualingによるリソース制御や必要であればIPアドレスの付与する機能を組み合わせたツールです。virtualingを使うと、Rubyコードによって、リソース制御可能なchroot環境でミドルウェアやコマンドを実行させることができます。 https://github.com/matsumoto-r/mruby-virtualing 例えば、とあるhttpdをvirtualingで動かしたい時は、以下のようなコードを書きます。 Virtual.new({ :resource => { # CPU [msec] exc: 30000 -> 30% :cpu_quota => 30000, # IO [Bytes/sec] 10 Mbyte/sec :blk_dvnd => "202:

    virtualingでchroot配下のプロセスを簡単にリソース制御してみよう - 人間とウェブの未来
  • Trusterd HTTP/2 WebサーバのTLS接続時の性能を改善 - 人間とウェブの未来

    もはやHTTP/2リファレンス実装であるHTTP/2のCライブラリnghttp2の作者であるtatsuhiro_tさんが素晴らしいベンチマーク結果を公開されました。 その中で以下のように、あまりにもH2Oやnghttpdと比べてtrusterdのTLS利用時の性能が遅かったため改善しました。 server 6 bytes 4K bytes h2o 227865 78333 nghttpd 226716 80673 trusterd 62362 44020 ref: https://gist.github.com/tatsuhiro-t/5f3b170414582ac58091#tls-with-flow-control 主に原因としては以下が考えられます。 TLS record sizeが小さすぎる それに伴いTCP_NODELAYオプションとも相まってパケットサイズも小さすぎる パケット

    Trusterd HTTP/2 WebサーバのTLS接続時の性能を改善 - 人間とウェブの未来
  • RubyKaigi 2014でmod_mrubyを作った経緯やその後の応用について発表します #rubykaigi - 人間とウェブの未来

    RubyKaigi2014に出してみたCFPが無事採択されたので、スピーカーとして30分程喋る予定です。是非聞いて頂けるとうれしいです。RubyKaigi2014のスケジュールも既に公開されており、僕は9月19日のCoffee Break後の15:30からホールAで発表します。 今回話す内容としては、 なぜmod_mrubyを作ろうと思ったか mod_mrubyのアーキテクチャ詳細 mod_mrubyを使ったWebサーバのリソース制御とそのアーキテクチャ mod_mrubyやリソース制御の利用事例 今後の予定 をお話しようかと思います。 mod_mrubyの実装やアーキテクチャは散々ブログやその他の発表機会でお話してきたので、配分的にはmrubyでリソースをコントロールするための仕組みや方法、その利用事例等、mod_mrubyの次のステップについてお話したいと思います。 また、このような技

    RubyKaigi 2014でmod_mrubyを作った経緯やその後の応用について発表します #rubykaigi - 人間とウェブの未来
    karupanerura
    karupanerura 2014/08/25
    ききたい
  • 1