PHP BLT #6 でphp-fpmのチューニングについてお話しました #phpblt

昨夜、2/22(水)に、勤務先のメルカリにて、PHP BLT #6が催されました。僕は、今回は発表に加え、司会をしておりました。

当日の様子: 「PHP BLT #6 #phpblt – Togetterまとめ

発表内容

結論は、php-fpmのプロセス数は固定でCPUコア数の2倍程度にセットしとくといいよ、というものです。

最近、php-fpmでPHPを実行されている人が増えていると聞きます。会場でもほとんどの方が利用経験がありました。僕は前職はITインフラ系のエンジニアでしたが、その経験を踏まえて、php-fpmをデフォルトで利用することから一歩進められるひとつのきっかけとなればと思い、今回の発表に至りました。

php-fpmは2vCPU程度の小さなインスタンスだと、正直デフォルトでもいじっても大きなパフォーマンス差は出ないことがほとんどです。しかし、開発したサービスが利用されるようになり、よりコア数の多いインスタンスにスケールアップした際、デフォルトではその性能を引き出せません。そこで、php-fpmのプロセス数をインスタンスに最適な数にセットすると、利用しているインスタンスの性能を十分に引き出しながら、処理能力を高められますというおはなしです。

実は、Web上を探すと先に僕の書いた結論をさらっと書かれている記事を見つけることができます。ただ、それがなぜなのか、という点をベンチマークツールを使って測定しながら明らかにしていくことが、この発表の特徴となっています。現場で利用されるときも、ぜひベンチマークを取って測定をしながら、最適な値を設定してみてください。

発表後に、PHPのメモリリークをどうやってケアするか、と言う話が出たので、ここで回答します。これは、プログラムを根本的に見直すのが難しい場合などは、 pm.max_requests パラメータを試しに100〜1000にセットしてみてください。これは、指定した回数リクエストを受けると、プロセスが再生成されるようになり、一旦メモリを開放することができるようになります。ただし、プロセス再生成に関わるCPU利用率があがります。

ちなみに、Wordpressの事例ですが、このブログのことです。このブログのサーバはCentOS 7系で動いていまして、ディストリビューション標準のPHPが5.4系でした(発表中5.3と言ってしまいましたが訂正します)。そのため、IUSリポジトリから7.0系を入れ直しています。7.1ではないのは、IUSにpearに関するパッケージがなく一旦やめたというのがその背景です。

勉強会について

司会をやっておりました。今までのPHP BLTのように大きく盛り上げるって感じではなかったのですが、いかがでしたでしょうか。僕がやると、淡々となってしまうところがあるかもとちょっと反省しております。

一方で、半分ほどの方が初参加、そして勉強会にあまり登壇したことがないかたが積極的にLTに参加いただけたのは、本当に良かったです。中には勉強会自体に初めて登壇したという方もいらっしゃいました。これは、PHP BLTの運営の際に、発起人であり勤務先のCTOである @sotarok さんが「多くの方に話をしてもらう機会を作る」ことがきちんと実現できたと思っており、運営スタッフの一人として大変嬉しかったです。

これからも、PHP BLTがコミュニティに参加するきっかけであれたらいいなと思いますし、自分自身もそれに貢献していくことの大切さを感じた夜となりました。

今後も、他の会社さんの会場でも開ければいいなと思っております。

その他いろいろ

勤務先のメルカリでは、今週さらに増床し(See also:「「スマオク」を運営するザワット社がメルカリグループにジョイン!東京オフィスの増床エリアも開放しました #メルカリな日々 2017/2/20」)、六本木ヒルズのほぼ1フロアを利用することになりました。その際、イベント用のスペースもリニューアル&大きくなり、このPHP BLTが外部の方に勉強会用として初めて開放したイベントになりました。

個人的にも、また何か勉強会を企画できたらいいなと考えています。たぶん、やるとしたら、ゼミ形式になると思います。

お会いした皆様、どうもありがとうございました。またよろしくお願いします。

共働きでも働きやすい環境とは 2017年現在版

組織内で個々人の事情について相互の理解があってこそ、仕事も家庭もバランスが取れるよね、というお話。

IMG_1730

仕事中、突如の電話の着信。iPhoneがバイブレーションしながら表示する発信元は「保育園」。

僕の家は相方と共働きです。保育園にお子さんを通わせている方は経験があるかと思いますが、おチビが体調を崩すと保育園からお迎えを要求する連絡が来ます。どっちが迎えに行くのか、揉める家庭もあると聞きます。そんな中、僕の家では原則、僕がお迎えに行きます。

そんな時、チームの島で繰り広げられる会話。

僕: 「すいません、おチビが熱出して迎えに行かないといけなくなったので、一旦帰ります。」

ボス: 「あらー、たーいへん!」

(この間、引き継がなければならない事項、連絡する必要がある事柄を共有。)

別の同僚: 「大変っすねー、気をつけてー」

ボス: 「おつかれさまー」

僕: 「失礼しますー」

で、安心してお迎えに行くことができます。

家庭持ちでも安心して働ける環境は互いの理解が基礎にある

僕の勤務先は、共働きの人でも働きやすい環境であると感じています。僕が考えるに、以下のことがあるからではないでしょうか。

  1. 他の同僚も家庭持ちで状況を理解してもらいやすい
  2. 他の同僚が帰るときもお互いに協力する
  3. 仕事が無理に詰まっていないので別の日に挽回しやすい

1は、とても大きいと感じます。他の同僚が僕と同じように呼び出される時、大変だよなって思いを馳せます。恐らく、逆もそうなのでしょう。そして、僕の同僚は育児・家事にきちんと参加している人が多いこともありそうです。昼飯を食べていますと、昨夜の夕飯は何を作ったとか、おむつの銘柄は何々がとか、そういう話で盛り上がります。

2は、協力できるところは協力する、それだけのことだと考えています。これは家庭の問題だけではなく、例えば誰かが病欠したときにも言えることではないでしょうか。

3は、ボスのマネジメントに拠るところが大きいです。そもそも、トラブルなく普通に勤務していれば、足が出ないスケジュールで開発が進んでいます。そのため、ある日に早く帰って穴が空いたとしても、別のある日にちょっと長めに働いて挽回することができます。それでもだめな場合は、相談に乗ってもらうこともできます。この状況を作ってもらっていることには感謝しています。

制度は理解の基礎があって活かせる

勤務先には、家庭の都合でやむを得ない状況に遭遇したときに備え、「子の看護休暇(有給休暇扱い:年5営業日)」「介護休暇(有給休暇扱い:年5営業日)」をもらうことができます。また、ベビーシッター利用時に補助が出たりします。他にもいろいろあります。

こういう制度は、勤務先の皆さんは積極的に使っているようです。

「制度があっても使えないとしょうがないのでは」という声を聞きます。実態を調べたことはありませんが、一部の組織だと制度はあっても使いやすい環境にないという話も耳に入ります。

ぼくは思うのですが、先の「家庭持ちでも安心して働ける環境は互いの理解が基礎にある」で述べた環境、すなわちお互いの状況を理解し合いながら仕事をする基礎が整っているからこそ、家庭の万一のときをサポートしてもらえる制度が活きるのではないでしょうか。

子持ち以外でもいろんなことがあるからこそ

今回は、共働きの子持ちの家庭における働きやすい環境について、僕なりの意見を述べてみました。

ただ、こういうのは他にもあって、例えば親の介護であるとか、自分自身がかかっている重い病気と付き合っていくこととなどがありそうです。

独身の時は気にしなかったのですが、プライベートを何も気にせずに100%仕事のことだけ考えられる状況や期間というのは当たり前に存在するほうが珍しいのではと考えています。人として生きて行くに当たり、仕事の前にまずは自分があり、そして家庭があります。そんなことをバランスを取りながら、同時にそれぞれ与えられた時間をはじめとした資源の中でしっかりやっていけば、最後には自分を助けることになるのではと考えています。

それにあたっては、ライフステージに合わせたよりよい環境で働くことを積極的に選択する、そして自分自身もその環境づくりに協力することが大切だなと考えている今日このごろでした。

心の健康を体の健康と同じくらい大事にしていきたい

仕事をしていますと、日々健康に働けるよう体調管理が重要であることは論をまちません。

それと同時に、僕は心の健康を大事にしていきたいと思っています。

IMG_7434

心の健康は安定した判断力に欠かせない

僕は働き始めてからほぼずっとソフトウェアエンジニアなのですが、この仕事は常に意思決定を求められる仕事と考えています。クラスの設計、データ入出力の設計、そして運用の設計。いろいろな判断が求められます。

そんな中、「なんでこんなの実装したんだ、あ、自分か。」と思うものを見つけた時に振り返りますと、たいてい慌てていたり、気持ちが沈んでいることを思い出します。

また、人と接する時に、心の健康が維持されていませんと、どうしても丁寧さがおろそかになってしまうことがあります。良い印象を維持するのはなかなか大変なのですが、悪い印象を持たれるのはあっという間だったりします。損であります。

最近心がけていること

最近心がけていることは、この3つです。

  1. よく寝る
  2. 喜びすぎない 悲しまなすぎない
  3. すっきりする活動をする

まず「よく寝る」ようにしています。6〜7時間くらい。あと、昼寝も15〜30分くらいしています。体調はもちろん整いますし、精神的にも安定します。僕がよくない判断や行動をするときは、たいてい寝不足か寝すぎです。

次に「喜びすぎない 悲しまなすぎない」です。感情の起伏を強く作ってしまうと、僕の場合それに持って行かれてしまうことがあります。ほどよく物事を感じ取ることで、平静な気持を維持できるように努めています。

最後に「すっきりする活動をする」です。例えば、スキーに行ったり、ロードバイクで走りに行ったりしています。家庭がありますのでいつでもというわけにはいきませんが、相方と相談して時間をやりくりして取り組む時間を作るようにしています。

いろいろ起こるからこそ

生きていますと、仕事のこと、プライベートのこと、それぞれいろいろ起こります。良いことも、悪いことも起こります。その時に心の姿勢が崩れると、なし崩し的に他のことも崩れてしまいかねません。だからこそ体はもちろん、心の健康も大切にしていきたいと考える今日この頃でした。

「モーニングGALA」で混雑を避けつつ楽しくGALA湯沢スキー場で滑る

GALA湯沢スキー場。首都圏から新幹線で気軽に行ける天然雪スキー場として、僕も毎シーズン通っています。

IMG_4080

さて、その便利さはオープンから現在まで健在でして、最近では休日ばかりでなく平日も盛況です(「あのGALA湯沢が今になって活況に沸く理由 アクセスの良さだけじゃない集客増の秘密 | 鉄道ビジネス – 東洋経済オンライン」より)。そんな混雑するGALA湯沢において混雑をできるだけ避けつつ楽しむための、ほぼ10年通い続けてきた僕が考えるベストプラクティスをまとめてみました。

対象者は、お友達やカップルで行かれる方、そしてヒトリストの方です。子連れで家族と行かれる方や、完全に初心者の方は、このプランは無理があるかもしれませんので、昔書いた「徹底攻略!週末のガーラ湯沢スキー場」をご覧ください。

サマリー、予約の段取り、そして当日の過ごし方の3つに分けてお話しします。

サマリー

土曜日以外の「モーニングGALA」を予約して行く。他は忘れてもいいので、これだけ覚えて帰ってください。

「モーニングGALA」とは、2016-2017シーズンはリフトの午前券+新幹線での往復代+スキースクールの割引券がついて8,500円からのパックプランです。シーズンによって値段と商品構成が違いますので、最新の情報は改めてご確認ください。

もうちょっとポイントをまとめておきます。

  1. 往路はMaxたにがわ71, 73, 75号を積極的に選ぶ
  2. 復路は上野止まりの新幹線も検討
  3. 板を持参する人は「Max」がついた新幹線を避ける
  4. 北エリア・南エリアがオープンし次第そちらへ移動する
  5. 昼は下山してスキーセンターで食べる
  6. 15時までに「SPAガーラの湯」で風呂に入る
  7. 15時台の新幹線で帰れば首都圏へ戻った後の夜も長い

このプランで僕なりに考えたメリットとデメリットは以下の通りです。

メリット

  • 午前券とはいえ始発で行けば5時間目いっぱい滑られる
  • 空いている朝から滑ることができる
  • 午後のケガ発生のピーク時間を避けられる
  • 「SPAガーラの湯」に入るときに空いていて安い
  • 混雑のピークを避けて首都圏に戻ることができる

「午前券では少ししか滑られないじゃん?」と思った方、ちょっと待ってください。始発の新幹線で行けば、8:00〜13:00の5時間もの間リフト券が使えます。5時間目いっぱい滑ったら、十分と思いませんか?そして、そのあとゆっくりお昼と食べて、お風呂に入って汗を流し、予約が比較的取りやすい帰りの新幹線を使って夕方には首都圏に着けるのです。十分充実した1日になると僕は考えますし、実際のところ僕は大変満足しています。

また、全国スキー安全対策協議会の「2015/2016シーズン スキー場傷害報告書」によると、スキー場での事故発生多発時間帯は11〜12時と14〜15時という報告があります。ケガのリスクを避ける意味でも、午前で切り上げるのはよいことです。

デメリット

  • とにかく朝が早い
  • のんびり向かってのんびり帰ることはできない
  • スキースクールに入校する人は午前でおしまい
  • 本当にガッツリ滑りたい人には物足りないかも

冒頭にも申し上げましたが、このやり方は、家族連れなどの時間の余裕を持ちたい人には向かない方法です。また、スキースクールに入りたい人は、午後を諦めなければなりません。そして、本当にガッツリ滑りたい人、たとえば3山共通リフト券などでは使えません。

予約の段取り

この記事の前提は「土曜日以外に滑りに行く」ことにあります。土曜日は往路の新幹線が大変取りづらいのです。日曜日は帰りが取りづらいのでは?と思われるかもしれませんが、午前で滑り終わって早めに帰ろうとする場合は、ピークタイムの新幹線ほどは取りづらいということはありません。

まずは予約です。手っ取り早いのは、JR東日本の「えきねっと」のページからオンライン予約することです。オンライン予約後、きっぷは駅の券売機で発券します。

さて、予約にあたって「往路はMaxたにがわ71, 73, 75号を積極的に選ぶ」「復路は上野止まりの新幹線も検討」そして「板を持参する人は「Max」がついた新幹線を避ける」の3点に分けて説明します。

はじめに、往路ですが原則「Maxたにがわ 71, 73, 75号」の「1階」を選びましょう。Maxとついた2階建ての新幹線はE4系と言います。これらはすべて首都圏から越後湯沢までの最速列車で、特にMaxたにがわ71号はゴンドラの改札開始前に着くことができ、時間を有効に使うことができます。1階である理由は、2階は単に人気だからです。列車名が単に「たにがわ」だった場合は、1階・2階は気にしなくて大丈夫です。ただし、これらは主に休日のみの運行のため、平日の場合は「たにがわ 401号」などを利用することになります。こちらは常に走っています。

F1000055

次に、復路は上野着の臨時の新幹線が存在する場合があります。存在する場合、こちらを利用することも検討してください。特に、大宮や上野で降りても不便しない人は積極的に活用すると良いです。運賃は東京駅・上野駅発着は同じ値段です。例えば、往路は東京発、復路は上野着というのもアリです。また、帰りの新幹線は運行日注意、すなわち走っている日が限定されている列車が数多くあります。特に平日は注意です。予約時によく調べておかれることをお勧めします。

最後に、板を持参する人の注意点です。基本、「Max」がついた新幹線は避けましょう。というのも、MaxがついていないE2系新幹線はスキー板のラックがあり、こちらに板をしまうことができて便利だからです。では、E4系Maxを選ばざるをえない時はどうすればいいか。これは、進行方向から考えて最後尾の席を取り、壁と席の間に板を置くのです。こうすればやり過ごすことができます。ただ、たまーに勝手に板を置かれてしまうことがあるので、それが嫌な人は東京駅から乗ることをお勧めします。指定のしかたは、オンライン予約の場合はシートマップから選択、びゅうプラザなどの対面窓口の場合は、直接希望します。

filmscan555

その他、気づいたこととしては以下の点です。

  • 板は宅急便で送った方が楽
  • 板をレンタルする人は事前に申し込むと安くなるので活用する
  • 平日はオンライン予約限定の自由席限定格安プランが存在する場合があるのであわせて検討する

当日の過ごし方

では、新幹線に乗ってGALA湯沢スキー場に着いた後、どのように過ごすと良いのでしょうか。

「北エリア・南エリアがオープンし次第そちらへ移動する」「昼は下山してスキーセンターで食べる」「15時までに「SPAガーラの湯」で風呂に入るとお得」そして「15時台の新幹線で帰れば首都圏へ戻った後の夜も長い」の4点に分けて説明します。

IMG_4083

1点目ですが、朝イチで到着したら、あなたの前に待っているのは圧雪したての引き締まったバーンか、新雪降りたてのバーンです。どちらも楽しそうですね。入念に準備運動をされた後、気持ちよくファーストトラックを刻んでください!ただ、その後はみるみる混んでいきます。9:00頃から北エリア・山頂・南エリアが順次オープンしていきますから、中央エリアからはどんどん逃げましょう。時間制限いっぱいの13:00になったら、しっかりスピードコントロールできる自信がある方は下山コース経由で下るとよいです。正午前後は下る人は少なく空いています。ゴンドラで下る人は13:00までに乗車してください。

IMG_0415

2点目は、昼飯はスキーセンター「カフェ ミラノ」で食べることをお勧めします。何より空いていますし、メニューもチアーズ内より充実しています。どうしてみんなここで食べないんだろうっていつも思います。

IMG_4100

3点目は、「SPA ガーラの湯」は15:00までに入場すると大人は300円引きの1,000円です。ちょっとお得です。それにこれまた空いています。滑ったときにかいた汗をしっかり流して、すっきりした状態で新幹線に乗るといいかもです。僕も、サウナと水風呂を往復してしっかりと疲れをとります。そして、新幹線の発車時間前までガーラの湯の入場者専用のカーペットの広場で休憩されるとなお良しです。なお、2点目と3点目は逆でもいいかもです。

そして最後の4点目。例えば、たにがわ 78号(15:26発)に乗れば、17時前に東京まで戻ってくることができます。その後は、友達と夜の街に繰り出すのもよし、早めに明日の準備をするのもよし、そして僕のように夜の育児と家事に勤しむのもまた良しです。僕の場合、夜まで相方に負担をかけずに済むということが非常に大きく、このプランを選択する理由の一つでもあったりします。

ところで、指定席が取れずにやむを得ず自由席特急券で新幹線に乗る場合、どうすればよいのでしょうか。その場合は、往路は東京駅に発車20分前に自由席の待ち行列に並び、復路は発車30分前に改札前に並ぶ必要があります。状況によってはそれより早く行くことも検討してください。

まとめ

ここまで、「モーニングGALA」を使って混雑を避けつつGALA湯沢スキー場を楽しむための僕なりのベストプラクティスを、サマリー、予約の段取り、そして当日の過ごし方の3つに分けてお話ししました。

ちょっとした時間管理の工夫で、混雑によって精神をすり減らさず、気持ちよく滑る時間を作りやすくなることをご理解いただけたかと思います。朝が早起きになるのが大変なのですが、なぜか僕はスキーに行く日だけは早く起きることができます(相方からも「スキーの日だけは早起きだね」と不思議がられます)。

IMG_3123

それではみなさま、ご安全に、楽しい時間を!

2016年を振り返る – 淡々と 粛々と

まもなく2016年が暮れようとしています。毎年、自分の中では恒例の年末エントリを今年も書くことにします。

本務の仕事のこと、プライベートのこと、そして来年のことについてまとめておきます。

IMG_7530

本務の仕事のこと

今年のはじめにメルカリへ転職をしまして、随分と環境が変わりました。3つ挙げてみます。

  1. 小さい組織で全体を考えることから 大きな組織でイチ従業員に
  2. サンフランシスコに仕事で出張してきた
  3. 対外活動は今年はあまりしなかった

1は、前職が今とは比較して小さな組織ではありましたが、全体を見て一人一人の生産性や働きやすさを考えながら、具体的に手を打っていく働き方でした。やりたいことをやらせてもらえていた、そう言えるかもしれません。一方で、現職は多くの人がいる中で、自分に今求められている業務が絞られ、そしてはっきりしていまして、その中で結果を出していく働き方に変わりました。

たぶん、通常であれば物足りない仕事になってしまったと思います。ただ、実際にはそうはなっていません。なぜなら、多くの人が知る通り、組織全体で強い結果を出している中で、どのようなことが組織内で行われているのか、身をもって体験できているからです。組織の勝ちパターンを知ることは、望んでもなかなかできないことであり、それが体験できるだけでも良い機会に恵まれたなと感じるのです。

2は、転職した際に望んでいたことの1つが叶ったことでもありました。日系の企業に勤めていますと、海外出張はよくてカンファレンスの出席くらいかもしれません。そうではなく、実際の開発業務を遂行する中で海外出張ができたことが本当に貴重な体験でした。それも、インターネットサービスのメッカであるサンフランシスコであったことが大変貴重でした。ニュースでしか知ることのないサービスを体感することはもちろん、実際に担当しているサービスが米国でどのように使われているのか、現地で知ることができるのです。

ただ、今後海外で本格的に活動しようとした場合、今の英語力では足りないこともまた事実です。来年も継続して英語の勉強を続けていく必要があることを痛感しています。

IMG_6789

3は、昨年に比べて今年は対外活動をあまりしませんでした。ほんと、ちょっとだけでした。いちびりな自分が、なんか珍しいなと自分ながらに思ってしまいます。

プライベートのこと

一番大きいことは、マンションを買ったことでしょうか。サラリーマンをやっていれば、結婚して、子供を設けて、家を買うのが普通だって考えますし、実際に自分の両親がそのような生活を送っていました。しかし、いざ自分でこの普通の生活を成し遂げ、そして継続的に取り組もうとしますと、非常に難しいことだなと感じずにはいられません。

来年のこと

本務の仕事は、これからも淡々と、そして粛々と取り組むつもりです。プライベートのこととともに、長距離走だと考えて、ペース配分に留意しながら継続できるよう取り組むつもりです。

そして、育児が少しずつはありますが手がかからなくなってきたので、来年はプログラミング教育の場にも少しずつ復帰する年にします。具体的には、TENTOに復帰します。

といっても、プログラミング指導のボランティアではなく、TENTOを今後どうやっていくのかを考え、具体的に行動していく取り組みを中心に行う予定です。本務の仕事があるため非常勤での取り組みとなり、時間の制約こそありますが、小さな組織をまた新しく形作ることに加わることができることを、大変楽しみにしています。

まとめ

人生35年生きてきましたが、それと同じ年数の住宅ローンを組みつつ、これからの人生の土台を作ったのがこの一年だったなと振り返っております。

これまでもいろいろありましたが、この後もいろいろあると思います。とはいえ、またその時々で、淡々と、着実に取り組めるように活動していけたらと考えています。

IMG_7344

皆様、今年も一年、大変お世話になりました。良いお年をお迎えください。