過去の日記に書いた memcached を用いて機能を実装したサーバーのうち
いくつかの挙動がおかしいということで調査対応を行った。
・プログラム側にエラーログは全く出ていない
・httpd 生きてる
・memcached 生きてる
わけわからんと思いつつ
netstat で memcached のポートを見てみたら SYN だらけワロタw
プリッシュ「うおー!なんじゃこりゃーー!!」
まさにこの心境…
memcached デフォルト接続上限数 1024 が原因だった。
これを -c 2048 とし、解決。
MRTG に TCP/IP 接続数の追加を誓い、監視に移行した。
しかし謎なのは「いくつかの」挙動がおかしいという点。
・おかしいサーバー
・おかしくないサーバー(おかしくないわけないけど)
差異を洗い出してて気がついた。
動いてる memcached 用 PHP 拡張モジュール が違う。
今回の実装で memcached を用いるにあたり
各サーバーに PHP 拡張モジュールをインストールしたが
memcache.so は開発が止まったとのことで、memcached.so を採用した。
(まずこのネーミングを何とかしてほしいけど)
しかし、memcached.so のインストールに必要な libmemcached が
32bit CentOS サーバーには、インストールできなかった。
そのため、32bit CentOS では memcache.so を用いることにした。
「おかしくないサーバー」とは、こちらの方だった。
で、memcached.so と memcache.so の差は何か、という事だが
ちゃんとドキュメント読んでないから
ぶっちゃけようわからんけれどw
・memcache.so
接続待ちのとき、すぐあきらめる。
・memcached.so
接続待ちのとき、律義に待つ。
つまり、memcache.so は、接続待ちのとき
すぐあきらめて false 的要素を return してくる。
そのため、今回実装した memcached を用いた処理については
正常に機能はしないが、全体として止まる事は無い。
おかしくないように見えていただけで
今回実装した機能がスルーされていただけだった。
しかし、memcached.so は、ちゃんと待ってくれるので
動いてないように見える。(結果 httpd タイムアウトで死ぬ)
でもこの待ち時間については、しっかり設定できるようで
はっきり言って、そのあたりを無視していた僕が悪い。
言い訳ではないけど、やはり英語ができないのはキツイ。
上記の「ドキュメント読んでない」についても
英語だからという点が非常にネックであり
翻訳サイトなどを用いてしっかり内容を把握しようとすれば
半日~1日仕事になってしまう、たぶん。
先日も、ジュノで海外のプレイヤーに
「チョコボが野菜たべない、なぜ!?」と質問されたが
・ヴァナ時間で日またぎしないと進まないよ
・最初の2回は食べてくれないよ
たったこれだけの事が説明できなかったため
結局「ググれ^^」がベストな回答となってしまったw
というわけで、できるだけ英語を勉強するべきだと思った!
いくつかの挙動がおかしいということで調査対応を行った。
・プログラム側にエラーログは全く出ていない
・httpd 生きてる
・memcached 生きてる
わけわからんと思いつつ
netstat で memcached のポートを見てみたら SYN だらけワロタw
プリッシュ「うおー!なんじゃこりゃーー!!」
まさにこの心境…
memcached デフォルト接続上限数 1024 が原因だった。
これを -c 2048 とし、解決。
MRTG に TCP/IP 接続数の追加を誓い、監視に移行した。
しかし謎なのは「いくつかの」挙動がおかしいという点。
・おかしいサーバー
・おかしくないサーバー(おかしくないわけないけど)
差異を洗い出してて気がついた。
動いてる memcached 用 PHP 拡張モジュール が違う。
今回の実装で memcached を用いるにあたり
各サーバーに PHP 拡張モジュールをインストールしたが
memcache.so は開発が止まったとのことで、memcached.so を採用した。
(まずこのネーミングを何とかしてほしいけど)
しかし、memcached.so のインストールに必要な libmemcached が
32bit CentOS サーバーには、インストールできなかった。
そのため、32bit CentOS では memcache.so を用いることにした。
「おかしくないサーバー」とは、こちらの方だった。
で、memcached.so と memcache.so の差は何か、という事だが
ちゃんとドキュメント読んでないから
ぶっちゃけようわからんけれどw
・memcache.so
接続待ちのとき、すぐあきらめる。
・memcached.so
接続待ちのとき、律義に待つ。
つまり、memcache.so は、接続待ちのとき
すぐあきらめて false 的要素を return してくる。
そのため、今回実装した memcached を用いた処理については
正常に機能はしないが、全体として止まる事は無い。
おかしくないように見えていただけで
今回実装した機能がスルーされていただけだった。
しかし、memcached.so は、ちゃんと待ってくれるので
動いてないように見える。(結果 httpd タイムアウトで死ぬ)
でもこの待ち時間については、しっかり設定できるようで
はっきり言って、そのあたりを無視していた僕が悪い。
言い訳ではないけど、やはり英語ができないのはキツイ。
上記の「ドキュメント読んでない」についても
英語だからという点が非常にネックであり
翻訳サイトなどを用いてしっかり内容を把握しようとすれば
半日~1日仕事になってしまう、たぶん。
先日も、ジュノで海外のプレイヤーに
「チョコボが野菜たべない、なぜ!?」と質問されたが
・ヴァナ時間で日またぎしないと進まないよ
・最初の2回は食べてくれないよ
たったこれだけの事が説明できなかったため
結局「ググれ^^」がベストな回答となってしまったw
というわけで、できるだけ英語を勉強するべきだと思った!
PR
この記事にコメントする
無題
memcachedすごいな~。
僕が注目したポイントが2つありまする。
1つ目が毎回メモリをアロケート、フリーするのではなく
最初に固定長のメモリを確保すること
まぁこれは逆に言うと無駄も増えると思うけど
アロケート、フリーのオーバヘッドを考えると
いいことだと思う
もう1つが分散処理がサーバ側ではなくて
クライアント側ということ
最初何?って思ったけど、
クライアント側で行うことにより
現状の環境を変えずに動的に分散が出来るんですねぇ~
この仕組みというか発想はすごい!!
そういえば、おっさんがDBのパーティションのようなことが
memcachedのクライアントのレイヤで出来るって言ってたこと思い出した^^
あと、なにかとシンプルというのが魅力的です。
早くイジって遊んでみたいな♪
僕が注目したポイントが2つありまする。
1つ目が毎回メモリをアロケート、フリーするのではなく
最初に固定長のメモリを確保すること
まぁこれは逆に言うと無駄も増えると思うけど
アロケート、フリーのオーバヘッドを考えると
いいことだと思う
もう1つが分散処理がサーバ側ではなくて
クライアント側ということ
最初何?って思ったけど、
クライアント側で行うことにより
現状の環境を変えずに動的に分散が出来るんですねぇ~
この仕組みというか発想はすごい!!
そういえば、おっさんがDBのパーティションのようなことが
memcachedのクライアントのレイヤで出来るって言ってたこと思い出した^^
あと、なにかとシンプルというのが魅力的です。
早くイジって遊んでみたいな♪
無題
> 最初に固定長のメモリを確保
ぼくもこれおもしろいと思いました。
これだけ使って良し、とされた量については
完全に好きに使い切るっての、わかりやすくて良いです。
起動時に足りなかったらそもそも起動しないんでしょうね。
(試してはないですが)
先日の問題以降、何事もなく運用できてます♪
ぼくもこれおもしろいと思いました。
これだけ使って良し、とされた量については
完全に好きに使い切るっての、わかりやすくて良いです。
起動時に足りなかったらそもそも起動しないんでしょうね。
(試してはないですが)
先日の問題以降、何事もなく運用できてます♪
ブログのレビュー
称賛献身ã€ã‚ãªãŸã«å…¥ã‚Œã‚µã‚¤ãƒˆã¨æ·±ã•æƒ…å ±ã‚ãªãŸæ供。ãã‚Œã¯ã ç´ æ™´ã‚‰ã—ã„ä¸è¦ãªæ—¥ä»˜ã®ã†ã¡ å†ãƒãƒƒã‚·ãƒ¥ã‚’ãã‚Œã¯åŒã˜ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã—ãªãŒã‚‰ã€ãŸã¾ã«ã§ãƒ–ãƒã‚°ã«å‡ºãã‚ã™ã™ã‚‹ã€‚ ファンタスティックèªã‚“ã§ãã ã•ã„ï¼ã‚ãªãŸã®ã‚µã‚¤ãƒˆã¨ç§ã¯è¿½åŠ よ|ç§ã¯ãƒ–ックマークã•ã‚’æ•‘ã£ãŸäº‹ãŒã‚ã‚‹RSSãŒç§ã®Googleアカウントã«ãƒ•ã‚£ãƒ¼ãƒ‰ã€‚
http://www.csgcmt.com/プラダコピー-list-67.html
http://www.csgcmt.com/プラダコピー-list-67.html
¥°¥Ã¥Á¡¡¥³¥¤¥ó¥±©`¥¹ ¥¯¥í¥¨ ÐÂ×÷Ø”²¼
I know this if off topic but I'm looking into starting my own blog and was curious what all is required to get setup? I'm assuming having a blog like yours would cost a pretty penny? I'm not very internet savvy so I'm not 100% sure. Any recommendations or advice would be greatly appreciated. Cheers
http://komeguranet.com/
http://komeguranet.com/