Hatena::Grouphimotech

HimoTech::rAdio このページをアンテナに追加 RSSフィード

2013,2,1

GrowthForecast

|  GrowthForecast - HimoTech::rAdio を含むブックマーク はてなブックマーク -  GrowthForecast - HimoTech::rAdio  GrowthForecast - HimoTech::rAdio のブックマークコメント

GrowthForecast
http://kazeburo.github.com/GrowthForecast/
GrowthForecastというグラフ表示ツールで捗る話 - blog.nomadscafe.jp
http://blog.nomadscafe.jp/2011/12/growthforecast.html
GrowthForecast導入&Supervisorで起動を管理 - Glide Note - グライドノート
http://blog.glidenote.com/blog/2012/07/05/growthforecast-supervisor/
PostgreSQL Deep Dive: GrowthForecastでパフォーマンス情報を可視化する
http://pgsqldeepdive.blogspot.jp/2012/12/growthforecast.html
タムタムの日記 - GrowthForecastが便利な件について
http://mt.orz.at/archives/2012/06/growthforecast.html
Scientific Linux6.2 で GrowthForecast のプロセスを monit で監視したメモ - do_akiの徒然想記
http://d.hatena.ne.jp/do_aki/20120618/1340007887

関連

Big Sky :: plackup の --path 引数
http://mattn.kaoriya.net/software/lang/perl/20121030123904.htm
Proclet という supervisor モジュール書いてリリースした - blog.nomadscafe.jp
http://blog.nomadscafe.jp/2012/06/proclet-supervisor.html
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20130201

2013,1,21

CakePHPとmemcached

|  CakePHPとmemcached - HimoTech::rAdio を含むブックマーク はてなブックマーク -  CakePHPとmemcached - HimoTech::rAdio  CakePHPとmemcached - HimoTech::rAdio のブックマークコメント

CakePHPを触っている。

memcachedまわりの機能について、以下のようなことがしたいんだけど、できるだけcoreに手を入れるのは避けたい。

  1. PECL::memcachedの方を使いたい。
  2. MemcacheEngineのデフォルト設定を上書きする方法を知りたい。

あるいは、公式の意向を知りたいと思った。

1. PECL::memcacheだけではなく、より高パフォーマンスなPECL::memcachedを使いたい。

ちょうど以下のようなやりとりがあった。

#3511 Memcached instead of Memcache - CakePHP - cakephp
http://cakephp.lighthouseapp.com/projects/42648/tickets/3511-memcached-instead-of-memcache

これによると、CakePHP 2.4のマイルストーンには入れられたらしい。で、Memcacheの方は2.4で非推奨にして、3.0では非対応とする、とのこと。

なるほど、とりあえずはtrunkを観察するか。

余談

古い比較結果にあるバイナリプロトコル対応の有無については、PECL::memcacheも、2007-11-26に出たバージョン3.0.0からは対応しているので、現在はバイナリプロトコル対応についての違いはなくなっている。


2. デフォルト127.0.0.1を設定に追加してくれているけれど、これを自分の設定だけにしたい。

  • サーバは読まない、あるいは複数サーバで同じ設定でクラスタ利用したい。
    • たかだか設定項目に、「そのIPが自分のものかどうか」という処理を入れたくない。

trunkではデフォルト設定の挿入方法が変更されているみたいだけど、それでもやはり標準で自サーバを追加してることには変わりがない…。

MemcacheEngine.phpを書き換えればいいんだけど、できればそれは避けたいな、と。

じゃあインフラ側でProxyするには…

あと、それならいっそインフラ側で対応しようかとも考えたんだけど、memcachedクラスタリングしてProxyできるツール、といいうのはどういうのがあるのか分からない。

HAProxyで単純に振るだけじゃあ、ただの分散になってしまう(?)ので、PHPのMemcache::addServer()みたいに、適切にまとめてくれる機能を持ったものでないといけないように思うんだけど、どんなのがあるのだろうか…。

こんな情報があった。
Twemproxy - MemCachedとRedis用のプロキシ
http://www.infoq.com/jp/news/2012/12/twemproxy
AWS ElastiCache と twemproxyを使ってみた - まめ畑
http://d.conma.me/entry/20121227/1356596553
suz-lab - blog: TwemproxyからElastiCacheに分散(同じキーは同じElastiCacheへ)してみる
http://blog.suz-lab.com/2012/12/twemproxyelasticacheelasticache.html

おお、まさにこれだ。設定ファイルもHAProxyっぽくて分かりやすい。

データ分散に対応したMemcached Porxyですか、求めていたのはこれだ。

さっそく実証に入ろう。

トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20130121

2012,5,30

MoinMoin

|  MoinMoin - HimoTech::rAdio を含むブックマーク はてなブックマーク -  MoinMoin - HimoTech::rAdio  MoinMoin - HimoTech::rAdio のブックマークコメント

CentOS WikiMoinMoin製らしいので、興味を持った。

Pythonアプリということで、WSGI対応らしい。

ということは、nginx + uWSGI で稼働するのか。

以下リンクメモ

Ubuntu Oneiric + nginx + uwsgi + moin - キュウリのように落ち着いて
http://d.hatena.ne.jp/cu39/20120113/1326461384
CentOS 5.7 に Python 2.6 を入れて pip で MoinMoin をインストール - キュウリのように落ち着いて
http://d.hatena.ne.jp/cu39/20120110/1326209060
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20120530

2012,5,29

markdown2impress.pl

|  markdown2impress.pl - HimoTech::rAdio を含むブックマーク はてなブックマーク -  markdown2impress.pl - HimoTech::rAdio  markdown2impress.pl - HimoTech::rAdio のブックマークコメント

本体

yoshiki/markdown2impress
https://github.com/yoshiki/markdown2impress

解説

プレゼンをmarkdownで書いたらええやん - Clouder::Blogger
http://blog.clouder.jp/archives/001146.html

導入

2012年のプレゼンgithub pages+markdown2impressで決まり!! - Glide Note - グライドノート
http://blog.glidenote.com/blog/2012/04/04/presentation-2012/

環境

LLをお手軽に使うllenvというのを作りました - As a Futurist...
http://blog.riywo.com/2011/12/31/190332
ハッカソンに行って来てllenvをリニューアルしました - As a Futurist...
http://blog.riywo.com/2012/01/08/200329

生成

markdown2impress.plでスライドを生成するためのMakefile — Gist
https://gist.github.com/2245730

稼働

markdown2impress を Guard で監視する guard-markdown2impress - 写経日記
http://d.hatena.ne.jp/bannyan/20120320/1332264721
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20120529

2011,10,3

check_munin.plを勝手に改訂。

| check_munin.plを勝手に改訂。 - HimoTech::rAdio を含むブックマーク はてなブックマーク - check_munin.plを勝手に改訂。 - HimoTech::rAdio check_munin.plを勝手に改訂。 - HimoTech::rAdio のブックマークコメント

汚いけれど、これで範囲指定のチェックや、個別フィールドの値のチェックができる。

ちなみに、これが初めてのgithub利用。

元ファイルは以下

Nagios Exchange - check_munin
http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_munin/details

check_munin.pl can check various modules of a server running munin-node. DEPRECATED use [[nex:1442 | check_munin_rrd]]

http://exchange.nagios.org/directory/Plugins/Uncategorized/Operating-Systems/Linux/check_munin/details

上記の記述があるんだけど、これって、check_muninが廃止されたのか、check_munin_rrdが廃止されたのか、どっちだろ。

改訂コードは以下

gistに上げた

 

Nagios統合監視[実践]リファレンス (Software Design plus)

Nagios統合監視[実践]リファレンス (Software Design plus)

トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20111003

2011,9,17

(nginxで)PHPをFastCGIで動かす

| (nginxで)PHPをFastCGIで動かす - HimoTech::rAdio を含むブックマーク はてなブックマーク - (nginxで)PHPをFastCGIで動かす - HimoTech::rAdio (nginxで)PHPをFastCGIで動かす - HimoTech::rAdio のブックマークコメント

よくある構成だけど、nginxでPHPを動かす際の各種手法に、一体どんな違いがあるのか気になったので調査中…。

環境

OS

CentOS 5.5

PHP
バージョン
5.3.3
nginx
バージョン
1.0.6
spawn-fcgi
バージョン
1.6.3
php-fpm

未導入

  • CentOS Updateのphp53に合わせたいのだけど、ちょうど良いパッケージ(バージョン5.3.3のphp53-fpm)がない
    • IUSは最新のみみたいだし…。

nginx + PHP を動かす手法

  1. SysVinitを利用してphp-cgiを直接起動
  2. spawn-fcgiを利用
  3. php-fpmを利用

知りたいこと

  • SysVinitを利用してphp-cgiを直接起動してnginxから呼べば、間に何も噛んでないから一番シンプルで良さげなんだけど、spawn-fcgiphp-fpmを間に噛ますことで、どんなメリットが生じるのか?

リニューアルしたQiitaにも質問を投げてみた。

nginx + PHP を動かす際に、spawn-fcgiを使うのと、使わずにSysVinit(init.d)でphp-cgiを直接起動するのとでは、一体何が違うのでしょうか? 何らかのパフォーマンス的な違いがあるのでしょうか? #FastCGI #Linux #PHP #nginx - Qiita
http://qiita.com/items/104/chunk

参考資料

php-cgiデーモンスクリプト
RedHatPHPFCGIInitScript
http://wiki.nginx.org/RedHatPHPFCGIInitScript
nginx, PHP 5.3 and FastCGI on CentOS 5.5, Fedora 13, Red Hat RHEL 5.5/6
http://www.if-not-true-then-false.com/2009/install-nginx-php-5-3-and-fastcgi-on-centos-fedora-red-hat-rhel/
  • RedHatPHPFCGIInitScriptにspawn-fcgiを噛ましたやつ
SysVinitって何だろう…?
/etc/init.d/functions を読む - tashenの日記
http://d.hatena.ne.jp/tashen/20081124/1227548098
PHPFastCGIで動かすって、どういうこと?
PHP: Lighttpd 1.4 (Unix システム用) - Manual
http://php.net/manual/ja/install.unix.lighttpd-14.php
CentOSで新しめphpyumで入れる
CentOS 5.6 で PHP 5.3.6 にアップグレード | 複眼中心
http://rewse.jp/blog/p/3467
CentOSPHPが5.1で困っているときの代替策 - 近況
http://d.hatena.ne.jp/pekeq/20100706/p1
  • 4系まで揃えろとは言わんけど、5系ぐらいは全バージョンのパッケージがあって欲しいところ…
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20110917

2011,7,24

LVS-TUNについて調査中

| LVS-TUNについて調査中 - HimoTech::rAdio を含むブックマーク はてなブックマーク - LVS-TUNについて調査中 - HimoTech::rAdio LVS-TUNについて調査中 - HimoTech::rAdio のブックマークコメント

さくらVPSを複数台利用してLVSによるhttp振り分けを実現したかったのだけど、LVSとリアルサーバが異なるネットワークセグメントになってるみたいで、LVS-DSRだと振り分けできないっぽい。

keepalivedを使って起動させてるんだけど、ipvsadmの起動と、ヘルスチェックまでは上手くいってるものの、別サーバからcurlなどでアクセス確認すると、「ipvsadm -L」ではInActConnのカウントが増えるが、リアルサーバへは到達していないもよう。

DSRではなくTUNならいけるかも、ということで調査中。

NATやDSRは、そのものズバリのHowTo記事が多いんだけれども、TUNはその片鱗しか見えてこない。

やりたいこと

環境

  • CentOS 5.6 x86_64
  • keepalivedもipvsadmもIPVS v1.2.1環境下での再ビルドを実施
    • keepalivedは1.2.1のソースからrpmbuildして入れた。
      • kernelバージョン(2.6.18-238.12.1)だと、1.2.1ならコンパイルできるが、1.2.2だと古いためできない、とのことだった。
    • ipvsadmは1.24のCentOSSRPMをrpmbuildして入れた。

調査資料スタック

Rackspace Cloud Computing & Hosting
http://www.rackspace.com/cloud/blog/2010/09/22/installing-and-configuring-lvs-tun/
LVS/TUN without iptables : blog.nomadscafe.jp
http://blog.nomadscafe.jp/archives/000727.html
ARP problem in LVS/TUN and LVS/DR
http://jlvs.infoscience.co.jp/arp.html
Virtual server via IP tunneling
http://jlvs.infoscience.co.jp/VS-IPTunneling.html
Yet Another Diary: 少しだけ気合いを入れてkeepalived, lighttpdを試してみた
http://yasu-2.blogspot.com/2010/02/keepalived-lighttpd.html
LVSトラブル対応 | へっぽこSE奮闘記
http://fine.ap.teacup.com/hepo/4.html
[lvs-users] keepalived+lvs
http://archive.linuxvirtualserver.org/html/lvs-users/2011-03/msg00015.html
LVS over Internet / client director and realserver at different networks
http://archive.linuxvirtualserver.org/html/lvs-users/2005-09/msg00164.html
LVS - defiantの日記
http://d.hatena.ne.jp/defiant/20070406/1175847800
LVS - Nginx - NodeJS - MongoDB - Cluster Setup on RackSpace
http://boj.github.com/blog/2011/01/14/lvs-nginx-nodejs-mongodb-cluster-setup-on-rackspace/
kazeburo : day : 2006/10/30
http://webcache.googleusercontent.com/search?q=cache:femo.jp/kazeburo/2006/10/30
Linux Virtual Server Tutorial- LVSトンネル
http://ultramonkey.sourceforge.jp/papers/lvs_tutorial/html/#SECTION00026000000000000000
ipvsadm + keepalived で 別セグメントへロードバランス - Linux Square - @IT
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=45841&forum=10

さくらインターネットのサポートから回答があった。

キュリティ上、仮想IPなどの「指定されているネットワーク情報以外のIP」を付与した場合、通信ができなくなる、とのことだった。

しかしながら、以下のように、LVSではないとはいえ、仮想IPさくらVPSに適用させて運用している例はあるらしいので、本当にそうなのか、LVS-TUNを実際に構築してこの目で確かめる必要がある。

さくらVPSiPhone用の野良WiFi通信傍受対策のL2TP/IPsec(VPN)を設定したメモ - nori_no のメモ
http://d.hatena.ne.jp/nori_no/20100919/1284889388
さくらVPSVyattaを入れて、Amazon VPCVPN接続 - kikumotoのメモ帳
http://d.hatena.ne.jp/kikumoto/20110430/1304173204
140台以上の「さくらVPS」を自在に操る! 仮想化の鉄人が語るVPS使いこなし術 | Think IT
http://thinkit.co.jp/story/2011/07/15/2185

仮想IPを利用せず、LVS-TUNが構築できるのであれば、下図のような感じで実現可能な気がするんだけどなぁ…。

           ┌──────┐
           │ LVS-Serv.  │
           └─[ eth0 ]─┘
                  │
        ┌────┴────┐
        │                  │
┌─[ tunl0 ] ─┐  ┌─[ tunl0 ] ─┐
│  Real-Serv.1 │  │  Real-Serv.2 │
└──[ eth0 ]─┘  └──[ eth0 ]─┘

qiitaに質問を投稿した。

さくらVPS」を利用した異なるネットワークセグメントにあるサーバ間でのLVS構成に関する情報をお持ちの方はいらっしゃいますでしょうか。LVS-TUN構成なら構築可能だと考えて、様々な設定を試みているのですが、リアルサーバまでパケットが到達せず困っております。 - Qiita
http://qiita.com/questions/82
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20110724

2011,5,31

Amazon商品ページからamazon.jpの最短URLに短縮してポップアップするブックマークレット

| Amazon商品ページからamazon.jpの最短URLに短縮してポップアップするブックマークレット - HimoTech::rAdio を含むブックマーク はてなブックマーク - Amazon商品ページからamazon.jpの最短URLに短縮してポップアップするブックマークレット - HimoTech::rAdio Amazon商品ページからamazon.jpの最短URLに短縮してポップアップするブックマークレット - HimoTech::rAdio のブックマークコメント

javascript:(function(){asin=document.location.href.toLowerCase().split(/\/asin\/|\/product\/|\/dp\//i)[1].split(/\//)[0];prompt('amazon.jp URL','http://amazon.jp/dp/'+asin);})();

Amazon商品ページからはまぞうURLのはてブページへジャンプするブックーマークレット

| Amazon商品ページからはまぞうURLのはてブページへジャンプするブックーマークレット - HimoTech::rAdio を含むブックマーク はてなブックマーク - Amazon商品ページからはまぞうURLのはてブページへジャンプするブックーマークレット - HimoTech::rAdio Amazon商品ページからはまぞうURLのはてブページへジャンプするブックーマークレット - HimoTech::rAdio のブックマークコメント

javascript:(function(){asin=document.location.href.toLowerCase().split(/\/asin\/|\/product\/|\/dp\//i)[1].split(/\//)[0];location.href='http://b.hatena.ne.jp/entry/d.hatena.ne.jp/asin/'+asin;})();
トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20110531

2011,5,23

google検索結果のURLをSBS投稿などする際に統一するためのブックマークレット

| google検索結果のURLをSBS投稿などする際に統一するためのブックマークレット - HimoTech::rAdio を含むブックマーク はてなブックマーク - google検索結果のURLをSBS投稿などする際に統一するためのブックマークレット - HimoTech::rAdio google検索結果のURLをSBS投稿などする際に統一するためのブックマークレット - HimoTech::rAdio のブックマークコメント

javascript:(function(){location.href='http://www.google.com/search?q='+document.location.href.split(/[?&]q\=/)[1].split(/&/)[0];})();

これを使って移動してから投稿する。

余程のことがない限り、キーワード以外のクエリ文字列は要らないので、URI正規化のためにも、上記URLをブックーマークする。

トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20110523

2011,2,11 このエントリーを含むブックマーク このエントリーのブックマークコメント

トラックバック - http://himotech.g.hatena.ne.jp/rAdio/20110211