ニクニクドットミー

カッコいいおっさんを目指すエンジニアの厳かなブログ

apacheのMaxRequestsPerChildを検証してみた

Apache logapacheの設定をちゃんとわかっていないので、configをいじってみたいと思います。

今回はMaxRequestsPerChildです。

この設定は個々の子サーバが稼働中に扱うリクエスト数の上限を決めるもので、子プロセスが捌くリクエスト数を指します。

MaxRequestsPerChild ディレクティブは、 個々の子サーバプロセスが扱うことのできるリクエストの制限数を 設定します。MaxRequestsPerChild 個のリクエストの後に、子プロセスは終了します。 MaxRequestsPerChild が 0 に設定されている場合は、プロセスは期限切れにより終了することはありません。

今回検証する環境はこんな感じです。 ・Apache/2.2.15 (Unix) ・CentOS release 6.5 (Final)

configはこんな感じ。


<IfModule prefork.c>
StartServers       1
MinSpareServers    1
MaxSpareServers    5
ServerLimit        1
MaxClients         1
MaxRequestsPerChild  5
</IfModule>

MPMはpreforkとなっています。

MaxRequestsPerChildは子プロセスが設定されている数だけリクエストを捌いたら終了するので、このconfigでは5回リクエストを捌くと終了するはずです。

一度この状態で

ps aux | grep -v grep | httpd
するとこの様になりました。


[vagrant@localhost ~]$ ps aux | grep -v grep | grep httpd
root      1328  0.0  0.8 183648  4072 ?        Ss   14:47   0:00 /usr/sbin/httpd
apache    6147  0.0  1.1 185308  5292 ?        S    15:15   0:00 /usr/sbin/httpd

この状態で、

curl http://localhost/
を叩いて5回リクエストを送ってみます。 その後プロセスを確認すると、


[vagrant@localhost ~]$ ps aux | grep -v grep | grep httpd
root      1328  0.0  0.8 183648  4072 ?        Ss   14:47   0:00 /usr/sbin/httpd
apache    6169  0.0  1.1 185308  5292 ?        S    15:17   0:00 /usr/sbin/httpd

最初確認した時とプロセスIDが変わっているのがわかりました。子プロセスがMaxRequestsPerChildの数(今回は5)だけ捌いたので、終了して別の子プロセスが立ち上がったことがわかりました。 MaxRequestsPerChildを設定するメリットは以下の通りです。

MaxRequestsPerChild を非ゼロに制限することには、二つの利点があります: (偶発的な) メモリーリークが起こった場合に プロセスが消費するメモリの総量を制限できる プロセスに有限のライフタイムを設定することで、 サーバ負荷が下がった時にプロセス数を少なくすることができる

こう思った

子プロセスがリクエストを捌いて仕事したら、帰っていいよという事です。子プロセスが長く生き続けると太り始めてメモリリークの原因になってしまいます。 MaxRequestsPerChildの数が多いと子プロセスが長く生きてしまうので、設定する数は気をつけた方がいいと思います。短すぎると子プロセスが立ち上がるまで時間が掛かる?と思うので、その間はリクエストが受け付けられなくなってしまうのではないかと思います。

ちょこちょこapacheのconfigの検証をしていきたいと思います。

2015年はゆる〜い目標を立てるぐらいがちょうどいいかと思う件

123H

あけましておめでとうございます。今年もよろしくお願いします。

だいぶ遅い挨拶になりましたが、皆さんいかがお過ごしでしょうか。

昨年の年末は一昨年と比べて、31日に出勤するという事がなくのんびりと新年を迎えれそうでしたが、、、 29日,30日と風邪で熱が出てしまい、おもいっきり寝込んでしまうというアクシデントに見舞われました。

自分は喉の調子が悪いとすぐに体調崩してしまうので、ちょっとでも異変を感じたらイソジンを飲み干したいと思います。

さて、昨年に引き続き今年も目標を立てようかと思うのですが、今年はゆる〜く立てようと思います。

なぜ?

しっかり立てても達成できないからです。

残念ながら昨年に立てた、応用情報技術者試験合格と年50本のブログ更新は未達となりました。。。

応用情報技術者試験に限っては一応受けに行ったのですが、一切勉強していなかったので途中で諦めてしまいました。

ブログはちょこちょこ更新していましたが、30本という結果になり20本も足りていないという状態。

活躍されているブロガーさんだと月に50本くらい余裕で更新してしまうので、そもそも目標の数値自体かなり低レベルな目標だったと気づきました。 (それすら達成できないなんて^^;)

そもそも達成できなかった理由は、

  1. スケジュールを立てなかった
  2. 自分の力量をわかってなかった

などがあるかと思います。 スケジュールを立てなかったというのは、まさに資格取得への道筋が一切ない状態でした。この期間はこの分野を勉強する!など無かったので、ダラダラとたまに参考書を見たりするぐらいでした。

つぎに自分の力量がわかってなかったというのは、ブログ更新に関わるのですが、今までの自分のブログ更新数を把握せず、なんとなく時間もあるし、月に4~5本書けばなんとかなるか!と思っていました。 ブログのネタもそんなにポコポコ出てこないので、月に4~5本の更新はかなり厳しいものでした。

という感じなので、~~に合格する!とか○○本ブログ更新する!という具体的なものではなく、すごくアバウトな目標を立ててみようかと思います。

アバウトにする理由

自分が決めたことをちょっとでもいいから達成して、自信を付ける為です。

自分で言い出した目標設定でしたが、こうも達成できないとさすがに振り返ってみてショックです。自分はダメな奴だな〜と。

なので、~~をする!とかアバウトに考えてみようと思います。

目標1 ブログを書く

昨年からちょっとずつ書くようになったブログですが、たまに読んでくれる人がいて、「読みましたよ!頑張ってください!」とか言ってもらえる時があります。

技術的なブログを書いた時には「あの記事役に立つ人いるんじゃない?」とかお褒めの言葉を頂いたりして、ブログを書くのが楽しいと思えるようになりました。

書く内容は大したことではありませんが、読んでくれている人がいるのはとても嬉しいですし、アウトプットは大事なので、続けます。

今回は○○本記事を書く!ではなく、ただ好きなタイミングで好きな内容を楽しいと感じながら更新して行こうと思います。

目標2 会社を毎日1%ずつ良くする

かなり格好を付けた目標ですが、ライフハッカーのこの記事を読んでこの目標を決めました。 会社の急成長につながるリーダーシップ13のヒント

5. 継続的な改善 あなた自身とあなたの会社を毎日1%ずつでも良くしていきましょう。1年の終わりには生産性や売り上げが2倍になっていることでしょう。決して自己満足してはいけません。あなたのチームが競争相手より優れていたとしても、彼らは虎視眈々とあなたの座を狙っています。より成長することで顧客はあなたのパフォーマンスに魅了されるのです。

大きな成果を出すのはいまの自分のスキルや力では無理です。しかし、小さな改善活動は少しずつできるはずです。例えば仕事に役立つスクリプトを書いたり、手順書をwikiにまとめたり。

自分の手が届く範囲で、自分が出来るチーム・会社を良くなることを1%ずつ毎日取り組みたいと思います。

たぶん小さなスクリプトを書いてると思います(笑)

目標3 インプット・アウトプット

エンジニアという職業は手を動かしてナンボだと実感しました。いままでなんとなくわかっていた事が実際に手を動かしてみると全く違った動作をして、手を動かさないとわからないことが多々ありました。

そして、手を動かさずに理解をしようとしない事が悪だということもわかりました。

インプットよりアウトプットが大事なことは重々承知でしたが、しっかり手を動かしてアウトプットしようと思います。

最近だとVagrantとイチャイチャしていて、仮想環境便利だな〜と実感してます。手軽に試せるのは本当にいいですね。これで手を動かないのは悪です。

こう思った

アッ・・・バウトな目標を3つほど立ててみました。たぶん他にもこれやろう、あれやろうと出てきそうです。そろそろ体も鍛え直さないとなーとかこの記事を書きながら思いました。 肩の力を入れすぎずに、小さな達成感継続するということをしっかり行います。 ゆる〜く目標に向かって日々笑進します。

靴磨きは目に見えて綺麗になる!KIWIのクリーナーセットを買ってローファー磨きました。

KIWI 年を取るにつれて、ちょっとずつファッションの嗜好が変わってきました。

昔はウィンドブレーカーにリーバイスのサルエルにナイキターミネーターを合わせたりというなんともガキっぽい(いまもたまに着るのですが^^;)感じでしたが、

最近はシャツにセーターを合わせ、ジーパンにローファーという大人っぽい?感じを好んで着てます。

ファッション雑誌もOCEANSやLEONを読むようになりました。モデルさんかっこいいです。

ということで、よくローファーを履くようになったのですが、履く機会が増えるとやはり汚れやすくなってしまいます。ターミネーターと違って、洗剤でゴシゴシ洗うわけにもいかず、さらに革靴なので慎重に扱わねばなりません。

愛着を持って長く履きたい!と思ったので、KIWIのクリーナーセットを購入し、磨いてみました。すんごい綺麗になりますよ。KIWI-set 今回買ったのはKIWIというメーカーのクリーナーセット。中身はこんな感じで、ブラシ、中性クリーナー、油性靴クリーム、布、説明書です。

KIWIについて引用。 靴磨き・手入れ-KIWI(キィウイ)-|ジョンソン株式会社

「キィウイ」は、1906年にオーストラリアでブーツの保革剤として生まれ、その2年後に発売した「ダーク・タン」の爆発的ヒットにより、オーストラリア中に広まりました。 その後、キィウイ油性靴クリームを愛用したオーストラリア兵のピカピカの軍靴が、イギリス兵やアメリカ兵の目に留まり「キィウイ」は急速な勢いで世界への普及を果したのです。
日本においても、キィウイ油性靴クリームは、靴を大切にする人たちの間で「丸缶」の愛称で呼ばれ、革靴の本格的なお手入れに無くてはならない製品として愛用されてきました。

丸缶という愛称で呼ばれているらしいです。他にもメーカーはたくさんありますが、このパッケージのポップさに惹かれて、KIWIにしました。

靴磨きの手順

さて、KIWIのクリーナーで靴を磨いてみます。 その前にどういう手順で磨くかというと。

  1. 汚れ落とし
  2. クリーニング
  3. 靴クリーム塗布
  4. ポリッシュ(ツヤ出し)

クリーナーセットについていた説明書の通りに磨いていきます。

汚れ落とし

ブラシで汚れ落とし 靴のコバ(縫い合わせ部分)の泥やホコリをブラシで落とします。コバの汚れを落としたら、ブラシで靴表面の汚れを落とします。 コバより表面のホコリが多く見られました。

クリーニング

中性靴クリーナー 布に中性靴クリーナーをちょびっと取り、靴表面に円を描く様にのばします。その後で布で汚れを拭き取っていきます。

クリーニング 結構コバに溜まりやすいので、溜まったクリーナーも布で拭き取ります。

靴クリーム塗布

靴クリーム三色 セットには3色のクリームが付いてました。自分の靴に合わせた色を選びます。

靴クリーム 布に取るとこんな感じ。これを靴表面に小さく円を描くように塗り込んでいきます。 布を巻いた指先を、油性靴クリームの表面に置くと、体温により油性靴クリームを自然に布にとることができます。 油性靴クリームの塗布のしすぎは、乾きを遅らせます。また次の磨きの段階で輝きが出にくくなります。

ポリッシュ(ツヤ出し)

仕上げに掛かります。塗りこみ、しばらく乾かした後、きれいな布で乾拭きをすると輝きが出てきます。 この時にミラーフィニッシュ(鏡面仕上げ)というテクニックがあります。 ポリッシュ 靴表面に水を2,3適散らし(少量の水を指先に巻いた布に含ませてもOK)油性靴クリームを少量取ります。その後丹念に指先で円を描くように磨き上げます。 靴表面に鋭い輝きが生まれるまでじっくりと繰り返し磨きます。

仕上がり

こちらがまだクリーナーセットを買う前の汚れていた状態 BEFORE before

そしてこちらが丹念に磨き上げた状態! AFTER after

写真では伝わりにくいかもしれませんが、ほんとうに光り輝くほどにピカピカになりました。

こう思った

以前から革靴の手入れの仕方はどうやってやるんだろ?と思っていて、ついに実行しました。 そこそこいいローファーを買っていたので、ちゃんと手入れ出来てよかったです。それにしてもこんなにピカピカになるなんて。。。驚きです。 オシャレは足元からと言いますが、自分で磨いたきれいな靴を履くと気分が楽しくなります。 靴に限らず、身の回りの物を愛着を持って使っていきたいと感じさせてくれました。靴磨き最高。ほんとうにオススメです。

家探しは実際に話しを聞いた方がいいと思った件

Alamo square san francisco6123 今住んでいる家がかなり手狭になってきましたので、近場のいまよりは広い家に引っ越すことにしました。

いまは1LDKなのですが、次は2LDKなので結構広くなります。

ただ、そんなにお高い所には住めないので、古めの物件です。

さて、そんな感じで引っ越すことにしたのですが、家探しで実際に不動産の人と話してよかったなーと感じることがありましたので、ブログに書いて置こうと思います。最近は仲介手数料0¥の不動産サイトも多く見かけられます。

ヘヤジンプライム

Q どうして東京23区内のすべての物件の仲介手数料が無料になるのですか? A ヘヤジンプライムはインターネットに特化した次世代の不動産事業を目指しております。 既存の不動産屋とは全く異なった運営をしており、徹底的にムダを省いています。 広告のムダ、沢山のお店のムダ、過剰な営業のムダ・・・そういったムダをなくす事で、お客様から仲介手数料を頂く必要の無い事業を運営しています。

https://prime.heyazine.com/#qa

手数料無料・仲介手数料無しはお得? | 住まいの基礎知識・ノウハウ【HOME'S】

住宅の数が充足し、賃貸物件でも空室が目立つようになると、貸主(オーナー)にとって少しでも早く借主をみつけることが重要課題となります。不動産業者に仲介手数料を支払ってでも、すぐに入居してもらうほうが良いのです。例えば3か月間にわたって空室になるより、1ヶ月分の手数料を支払って1ヶ月間の空室で済むほうがメリットは大きいでしょう。その代わりに借主が負担する仲介手数料を無しにすれば、早めに契約できる可能性が高まります。

このような理由で、仲介手数料無しの場合があるようです。 今回僕が家を探した時は、ネットで物件を調べて、店舗にお伺いし、担当者と話をしながら物件を絞り込み、内見して決めた感じです。普通な感じ。 一方ヘヤジンプライムは店舗を持たず、直接内見したりサポートに問い合わせしながら家を探すタイプ。

長くなりましたが、実際に話しを聞いて良かったと思った所は!

大家さんについて教えてもらえる

実はネットで見つけた物件がとても良かったので、そこを見てみたいと話をした所、意外な事実が発覚しました。。。

  1. 大家さんがかなりの頑固もの
  2. 近所夏祭りなどのイベントに強制参加(住むための必須条件)

どうやら物件の近所にある神社?の関係者らしく、イベント毎にがっつり参加(準備とか)することが入居の条件でした。 担当者の方もほとほと困っており、この物件に興味持った人にしっかり説明しているそうです。 初め聞いたときは耳を疑ってしまい、今後の人間関係が目に見えてめんどうになることがわかったので、その物件は諦めました。

自分が来店した後にきた方もその物件に興味があったようですが、その説明を聞いて、がっかりした感じで諦めていました。。。南無。

こう思った

つまりは仲介手数料は払う価値がある。その為に担当者にたくさん質問しまくるべし!と思います。 先の物件ですが、この物件のお陰でいくらか人が集まるんだろうなと思いました。(ある種の釣り)

物件は希望に合うものを100件ほど出してもらい、その中から奥さんと一緒に選んで内見までしました。 不動産屋さんから提示されるのではなく、自分達で選べてよかった。 ヘヤジンプライムのような店舗を持たない場合で、電話サポートの場合だと自分からどんどん聞くしか無さそうなので、引っ越し慣れしている人が向いているような気がします。

実際に話しをしながら選ぶ方が安心感はあるのかなーと思います。

ほぼ初めてのジーパン手洗い 意外とすごい汚れてますよ

5410063241 0295937d07Photo credit: タカハタtakahata / Foter / CC BY-NC-SA

夏頃に買ったジーパンをさすがに洗おうと思い、手洗いしてみました。

夏場はよく履いていたので、汗等でかなり汚れが蓄積されていると思います。。。

そこでジーパンの洗い方を調べてみたのですが、たくさんの方法があり、迷ってしまいましたが、次の方針で洗うことにしました。

  1. 色落ちにこだわらない
  2. ダメージ加工にこだわらない
  3. 汚れを落とすことだけにする

方針を決め、ググっていると次のサイトが参考になりました! デニムの劣化と色落ちを最小限にふせぐ唯一無二のジーパンの洗濯方法!②洗濯方法編 シンプルでわかりやすいないようだったので、この手順に沿って洗うことにしました。

①ジーパンを裏返す

なんとなく裏返して洗ったことはあるのですが、これは「洗濯機で洗うときに表のままだと擦れてしまう」からだそうです。 今回は手洗いなので、そこまで擦れることはないかと思いましたが、念のため裏返しておきます。

②バスタブにぬるま湯を張り、ジーパンをつける

IMG 1717 大きなタライなんて家にはないので、バスタブにぬるま湯を張りました。 熱湯だと色落ちが進んでしまうそうです。ぬるま湯(今回は43℃くらい)だと皮脂汚れが落ちやすいそうです。

③ジーパンを押し洗いする

ぬるま湯につけたジーパンを押し洗いします。あまりゴシゴシするとかなりの色落ちやジーパンが擦れてしまうので、上から押すように洗いました。 最初はジーパンがすこし色落ちして、お湯が青くなると思います。さらにお湯が茶色になってくると思いますが、これが汚れです。 お湯がすごい茶色になってしまったので、引きました。 ②、③の工程を2~3回ほど繰り返して、しっかり汚れを落とします。

アクロンでつけ置きする

IMG 1719 参考にさせて頂いたサイトではアクロンを使っていたので、アクロンを使いました。

いくら洗濯石鹸が生地にやさしいといっても、汚れ落ちの点では洗剤にかないません。
目的はジーパンを綺麗にすることなので、あるていどきちんと汚れが落ちてくれないと意味がありません。
そんな理由から、色落ちや劣化や型崩れに強いアクロンをつかっています。

アクロンをほんのちょっぴり、ぬるま湯を張ったバスタブに入れ、20~30分ほどつけておきます。

最後の押し洗い

ジーパンをつけ終わったら、最後の押し洗いをします。しっかりとアクロンと汚れを落とします。 何度かお湯を張り替えながら洗います。

ジーパンを干す

ガッチリと挟むことができるハンガーがあると良いです。 裏返したままジーパンの裾を挟み込み、逆さにした状態で日陰に干します。

こう思った

ジーパンは月に1回のペースで洗いましょう。。。汚れで、お湯が茶色になっていく様はまさに地獄。

【AWS】ElastiCache Redisのパラメータグループの変更で再起動が掛かるのか不安だったので、検証してみた。

Redis ElastiCache Redisを使用していて、AOFを後から追加したい!ってなった場合、パラメータグループを操作する必要があります。 この時に、Redisに再起動が掛かるのか不安になりましたので、検証しました。

もし仮に再起動が掛かると、AOFファイルからデータ復旧しようとするので、いま格納されているデータが消えてしまいます。 なので、検証方法を以下の手順で試してみます。

  1. AOF無しのElasitCacheRedisを作成
  2. 幾つかデータを格納する
  3. AOF有りのパラメータグループを作成
  4. AOF有りのパラメータグループを設定
  5. データが入っているか確認

結論

先に結論から行くと再起動しません。よかったね。 バックアップウィンドを追加しても再起動しませんでした。 EC2上にRedisを構築したときは、AOFを途中から有りにする場合は、手順を間違うとAOFからデータ吸いだしてしまい、 データが消えてしまいます。 この辺りはAWSが良しなにしてくれているみたいです。

AOF無しのElasitCacheRedisを作成

m1.smallでRedis 2.8で構築。 パラメータグループはdefault.redis2.8を設定。

幾つかデータを格納する

まずEC2にRedisをインストールする。 こちらの記事を参考にしてサクっと入れました。あざす! AWS EC2にredisをインストールする

データを格納 $ redis-cli -h .apne1.cache.amazonaws.com .apne1.cache.amazonaws.com:6379> set mykey myvalue OK .apne1.cache.amazonaws.com:6379> get mykey "myvalue" .apne1.cache.amazonaws.com:6379> set myhoge myhoge OK ***********.apne1.cache.amazonaws.com:6379> get myhoge "myhoge" ※当たり前ですがこの状態でリブートかけると、↑で入れたデータはきれいさっぱり消えました。

AOF有りのパラメータグループを作成

Create Cache Parameter Groupから新しいグループを作成。 appendonlyの項目をyesに変更。これでおkです。

AOF有りのパラメータグループを設定

さきほど作成したパラメータグループをmodifyして、設定。 この時にstatusがmodifyになり、チェックボックスがグルグルになります。

データが入っているか確認

$ redis-cli -h .apne1.cache.amazonaws.com .apne1.cache.amazonaws.com:6379> get mykey "myvalue" ***********.apne1.cache.amazonaws.com:6379> get myhoge "myhoge" おk!ちゃんとデータが入ってますね。 この状態で再起動しても、ちゃんとデータは残っていますので、安心。 ちなみにCache EventにはUpdated to use a CacheParameterGroup 【パラメータグループ名】となっていました。

こう思った

途中でパラメータグループを変更することが無かったので、気になって検証しました。 これで再起動して、AOFから復旧されたらたまったもんじゃないので^^; 最近では、Multi-AZ対応も入ったようなので、ますます便利になってきました。以前はスレーブも無かったので、EC2にRedisを入れて、それをスレーブとしてました。ちょっと懐かしいです。

土佐弁「いっちきちもんちきち」をGoogle翻訳すると腹抱えて笑った

Google translate 昨日上司の知り合いの方のSkypeアカウントが乗っ取られ、流行りのiTunesカードを買ってほしい詐欺がありました。

そこで、関西弁をつかってやりとりをしていたのですが、土佐弁も使ってみようという話になり、「いっちきちもんちきちしてもらってかまん?」と返事してみました。

おそらく乗っ取った人は翻訳して自分の国の言葉にしていると思うのですが、「いっちきちもんちきちしてもらってかまん?」を翻訳するとどうなるんだろという話になり、一度英語にしてみました。

まずは英語

英語 Match Kichi Kichi family origin and ask them Kaman?

Match Kichi Kichi familyってなんでしょう。どこかの愉快な家族を想像します。

で、この英語にした文を日本語に戻してみます。

英語->日本語

Google翻訳 かまんがカタカナになりました。あと吉きちファミリーは試合があるみたいです。

他の言語にも試してみました。

韓国語->日本語

韓国語 吉きちファミリーが増えそうですね。

中国語->日本語

中国語 吉きちファミリーの家族背景を尋ねるみたいです。家でも買うのでしょうか。

ロシア語->日本語

ロシア語 どうしても吉きち親子に尋ねたいみたいです。

フランス語->日本語

ロシア語オリジン弁当が食べたくなってきました。

昨日はほんとに腹を抱えて笑いました。どうしたら吉きちファミリーになるのでしょうか笑 ちなみに土佐弁の意味としては、「行ってきて戻ってきてもらっていいですか?」という意味です。 この返信をした後、乗っ取った人から返事はありませんでした。もし同じことがあったら「いっちきちもんちきしてもらってかまん?」と聞いてみましょう。