ハッピープログラムが必死

happy-pgまったく使っていなかったイーバンク銀行に久しぶりにログインしようとしたらハッピープログラムなるものに露骨に登録させようとする画面が表示されるようになっていた。

ハッピープログラムなにそれこわいと思って調べてみると,楽天の会員IDと結び付けて登録することで預金額に応じて特典が受けられるものらしい。会員ステージと呼ばれるランク分けによって,最高で振り込み手数料が7回無料や楽天のポイントアップなどが受けることができ,わかりやすく例えるとトランプの大富豪のランクに似ている。また,獲得レベルなるものも設定されていてそれを合計してランクが決定する模様。かなり複雑なシステムになっているような印象を受ける。
ちなみに,私のイーバンク銀行の預金額では大貧民ビギナーになるらしい。

で,結局はハッピープログラムに登録することはやめておくことにした。根拠はないが,なんとなく直感であまり印象が良くない。このランクシステムやポイントアップなどのシステムがゲーム的というかエンタテイメント的というか,ある種公的な部分も帯びる銀行の企画にしては軽すぎる。とりあえずは何もせずに様子見。ビギナーだけど。

mysqlの運用時のトラブルと試行錯誤のメモ

条件

  • 1分間にクエリの実行が30回〜60回程度発生する。
  • 結果のテーブルは7フィールドの数千〜10万件レコード程度のテーブル
  • mysqlのスペックはCPUがcore2duo,メモリが8GB,他のサービスとしては主にapacheやphp,tomcatなどを同時稼働

結果

  • クエリの結果が表示されない。(メモリが足らない?または、クエリのキャッシュが不具合?)
  • mysqlのサービスは落ちていない。

考察

クエリの実行回数が少ない時は発生しなかったが、高負荷時にはクエリの実行結果が正しく表示されないという現象が頻発するようになった。サービスが落ちてはいないことからキャッシュ関係の設定(table_cache, query_cache_size, max_connections, thread_cache)を見直しながら試行錯誤してみたものの改善せずまた原因もわからず。

メモリを増やせば解決する問題のような、そうでもないような・・・。今で限界の8GB積んでいるから、増やすとなると次は・・・16GB?ECC機能付きのメモリは今の相場だと厳しい値段がついているような予感。それも4GB×4枚だとちょっと。

今のところは応急処置として、定期的にキャッシュクリアをすればなんとか正常にクエリ結果を返すことはわかった。しばらくはそれでもたせて、何か他に見落とした設定があるかもしれないので引き続き調査を続行。

追記

  • キャッシュクリアでは効果があまりない模様。仕方が無いので定期的にmysqlのデーモンをリスタートさせることでさらに応急処置。
  • mysqlの起動スクリプトで簡単にリスタートできることを今更ながら発見。スクリプトの場所は標準なら code>/usr/local/mysql/share/mysql/mysql.server にある。起動スクリプトの使い方は,半角スペースを空けてrestartと入力するばいい。(例:/usr/local/mysql/share/mysql/mysql.server restart)
  • このときオプションもついでに使うことができる模様。オプションを指定して起動スクリプトを実行すると設定ファイルより優先される。(例:/usr/local/mysql/share/mysql/mysql.server restart --skip-slave-start)

追記2

事態が好転しないのでmysqlの設定をもう一度見直し。

  • table_cacheの値を100→1024に大幅に増加して設定してみる。
  • key_bufferの値は控えめに1024MB→256MBに設定してみる。
  • max_connectionsも100→50に減らしてみる。
  • query_cache_sizeの値も16MB→8MBに減らす。

このあたりの設定変更をして様子をみてみる。というか,根本的に何か間違っている予感・・・。

追記3

さらに設定見直し。今度はプログラムの方にも修正を入れることにした。雑に書いていたコード部分を整備して,変数宣言など余計なものをチェックして修正することで少しでもメモリの浪費を抑える。

で,今のところはかろうじて安定してきた。

DDR2メモリの値段がどんどん値上がりしている件

mem-1パソコンパーツなどの通販サイトドスパラでたまにメモリの値段をチェックしていたのだけれど,ここ数週間のうちにとうとう5000円を突破するようになってきた。デスクトップ用のメモリDDR2の2GBで今年の1~2月ごろは4000円ぐらいだったはずで,前は半額くらいの値段だったんだよなと渋々購入した記憶があるのだけれど,今見たらさらに値上がっている。どこまで上がるのやら。

SSL対応とSSL非対応

SSLとは簡単に言うと通信時の内容を暗号化するネットワークの通信手段。これにより第三者に通信内容を傍受されたとしても、暗号化されているためどのような内容か解読することが困難になる。ECサイト利用時にクレジットカードの情報や暗証番号などを送信する場合にはセキュリティ強化という点から導入されることが多くなっている。

利用者としては、何が違うのかは今ひとつわからない。いっそのこと全ての通信はSSLに対応するという指針でも出してSSL非対応は禁止ぐらいにすればいいんじゃないかと思ったが、意味はないか。そうなったらそうなったでさらにセキュリティが強化されたSSSL(Super Secure Sockets Layer)が登場することになり同じことを繰り返すだけになりそうだ。誰得という点を考えればすぐわかることだった。

ウィトゲンシュタインのつぶやき

反哲学的断章―文化と価値

凡庸な物書きが気をつけるべきことは、荒削りで不正確な表現を、正確な表現に性急に置き換えないことである。そんなことをすれば、最初のひらめきが殺されてしまう。小さな植物にはまだ生命があったのに、正確さのために、枯れて、すっかり無価値となる。ゴミとして捨てられてしまいかねない。貧相でも植物のままであったなら、なにかの役には立っていたのだが。

→P.215

ウィトゲンシュタインはTwitterをつかっていません!

JavaServerPage においてCSSのmedia=print が働かない現象について

JSPにて表示するウェブページのスタイルシートを別途プリント用のスタイルシートを用意して適用させてみようとテストしたところ,表示されないという現象があった。下記のような感じで記述をしてみたのだが,どうやっても表示されなかった。

<link rel="STYLESHEET" type="text/css" media="screen" href="./css/style.css" title="標準" />
<link rel="STYLESHEET" type="text/css" media="print" href="./css/print.css" title="プリント" />

パスは間違ってはいない。記述の方法も間違ってはいない。一般的な静的ページで印刷プレビューをしてみたらこれで意図通り表示される。しかし,JSPに限っては表示されなかった。

続きを読む JavaServerPage においてCSSのmedia=print が働かない現象について

Real UID could not be changed! について調べたことをメモ

xreaのレンタルサーバを使っていると

Real UID could not be changed!

というような画面が表示されて動的生成されるウェブページが表示されなくなった。
続きを読む Real UID could not be changed! について調べたことをメモ

Intel D510MO のベンチマーク

D510MOのcrystalmark結果Intel D510MO という次世代Atomプロセッサが搭載されたマザーボードをcrystalmarkというソフトでベンチマークを計測。
CPUの性能はAtom330よりも僅かながら確実に向上している模様。その他には特に変わったところは見つからず。
マザーボードの構成がメモリDDR2を2枚挿すことが可能となっており、最大4GBまで認識させることが可能となっている。メモリのクロックは667Mhzまたは800Mhzのものが使用可能。仕様書にはシングルチャンネルと記載されている。サーバ用のECCメモリは認識できずに起動不能。

続きを読む Intel D510MO のベンチマーク

Celeron dual-core E3300 のベンチマーク

e3300Celeron dual-core E3300 を使って新たにPCを自作したので記念にcrystalmarkというベンチマークソフトを使ってのベンチマーク。
クロックはノーマル。
マザーボードはDG45IDという異音がするボード。グーグルで検索をしてみたら同様の症状の人がいて、USBメモリを挿せば異音は治まるという冗談みたいな解決方法が紹介されていたが、だめもとで試してみたらなんと本当に治まった。(この電子音のようなビープ音のようなコイル鳴きの現象,Windows XPだと発生して,Ubuntuを入れてみたら発生しなかった。よくわからない。)
HDDはオンボードRAID機能を使ってHDD2台をストライピング。

続きを読む Celeron dual-core E3300 のベンチマーク