読者です 読者をやめる 読者になる 読者になる

中年engineerの独り言 - crumbjp

LinuxとApacheの憂鬱

Rails の or クエリー

qiita.com

まあ説明はこちらに譲るとして、、

一番の問題は 非常に気を遣う ということだ。 普通に使うと動くけど、レアケースで落ちるのが痛い。

qiita.com

これが一番しっくり来た。 コメントの通りちょっと直さないと落ちるんだけど。。これをinitializer でパッチして使うことにする。

ITシステムを構築するということ

引っ越しついでに。。。

技術を体系的に理解するということ

IT技術は日進月歩でどんどん進化も早くなるので、専門職化して行くのはある程度仕方ないとは思うけど やっぱり、その様な人材や技術を効率的に正確に扱うには、全体を万遍無く理解出来てないと難しいだろう。

今までアンバランスなシステムを幾つも見て来たが、やはりそこの技術TOPのある領域の弱さが透けて見えるケースが多かった。

若い人ほど追い付かなきゃならない分野が多くて大変だと思うけど それは逆に脱落者が多くて、競争率はどんどん落ちて行くので、頑張って網羅性を上げて行ってほしい。

・・・中年の独り言・・・

Markdownじゃなきゃダメな体に・・・

引っ越して来ました。。。

もうMarkdownじゃなきゃやってらんないよね。。

へーサポートしてるのね

ES6 transpiler すると壊れる問題

javascript

webpack + babel で一見ちゃんとtranspilerできるのだが、動かしてみるとエラる。

Uncaught TypeError: Cannot read property 'TYPED_ARRAY_SUPPORT' of undefined.

色々調べたが解決方法には辿り着かなくて何とかひねり出したのがこれ。

    plugins: [
      new webpack.DefinePlugin({
        global: {}
      }),

capistrano-bundle_rsync の :repo_tree がちゃんと動かない・・・

ruby

こうじゃないと動かないと思うんだが、これだけ使われてるライブラリでこんな5分で治る奴が放置されているとも思えんのだ・・・
だれか教えて偉い人!!
https://github.com/sonots/capistrano-bundle_rsync/pull/15/files

MongoDB の チューニンガソン環境を作った。

例のGoogle compute engine 60日トライアル の$300 分をどう使おうか・・・と考えていたのだが、MongoDBのチューニンガソンに使えるんじゃないか!?と思って週末に一気に作ってみた。

mongo-tuningason.crumb.jp"

いきなり超負荷を掛けると、色々問題が起きるので、Stage1 ~ 4 まで別けて、ある程度チューニングが進んでから、だんだん負荷が掛かる構造にした。

stage1 5秒以内に一連のクエリーが完了すること。プロファイルの取り方と基本的なindex知識
stage2 5秒以内に一連のクエリーが完了すること。複雑なindexが張れるか?
stage3 2~3秒の間で難易度を調整中。かなり突っ込んだindexを張れないとクリア出来ない
stage4 最終ステージ。負荷が一気に増え、クリアではなくスコア(qps)での競争。MongoDB周りならなんでもあり。
stage5 構想段階。アプリ側も含めたチューン

恐らくstage3 まで行く人は既に普通には困らないだけの知識を持っているし、stage3 をクリアする人はマスターレベルだと思われる。

一旦、何人かにβテストの挑戦をして貰いたい。
興味がある人はfacebookで声を掛けて欲しい!!!!
SSHが出来るホストをお渡しして好きにチューンして貰う感じになります~

mongosが腐る・・・

mongodb

mongosの後ろのshardでstepdownが起きたときにmongosが追随せずに以降のクエリーが全て刺さり続けることがある。
こうなるともう自動で復活はしないようだ。


すべてのmongosが腐る訳ではなく、stepdown時に高負荷だったmongosが腐る傾向にある。
shardConnPoolStats コマンドではmasterが変わった事が認識できているので、何かしらのrace condition のバグがあると思われる。

少なくとも2.6系,3.0系で起きる。3.2系は不明だが恐らく起きるだろう。
本番クラスの負荷がかからないと再現しないので原因特定もかなり覚悟が要る。。。


とりあえず、監視スクリプト書いて自動再起動させる事にするが。。

jiraにも上がってなさそうだし、こんなバグ誰も気づかないんだろうか・・・