アーキテクチャをスマートに。

株式会社ネオジニア代表。ITアーキテクトとしてのお仕事や考えていることなどをたまに綴っています。(記事の内容は個人の見解に基づくものであり、所属組織を代表するものではありません)

SSDをRAID5で自作サーバ構築(その3)

ファイルシステムSSD向けチューニング

先人の知恵*1に従って、ext4とXFSに対してはマウントオプションを変更します。

  • discard SSD のTrimコマンドを有効にする
  • nobarrier I/Oバリアを無効化する
  • relatime
続きを読む

SSDをRAID5で自作サーバ構築(その2)

OSインストール

OS は Jaunty の頃からお気に入りの Ubuntu Server 12.04.02 LTS (x86_64) にしました。
まずはUbuntuのISOイメージをダウンロード。(ubuntu-12.04.2-server-amd64.iso)
でインストール方法ですが、サーバ構成を見ての通り光学ドライブがないので、USBメモリから起動しインストールします。

続きを読む

SSDをRAID5で自作サーバ構築(その1)

長らく更新ストップしてましたがブログ再開です。
VM用のサーバを構築したのでその時の記録です。

目的

Linux 上で VirtualBox を快適に動作させることを目指し、PCサーバを自作します。

最近の一般的なPC構成で動作速度の足を引っ張っているのはディスクだと思っています。IntelのCPUはマルチコア化が進み、省エネながらも計算パワーはとてつもなく向上しています。エンコードなどをしない限り、全てのコアが100%稼働してパワーが足りないということはまずないと思います。
CPUの動作速度に対してディスクのアクセス速度は相当遅いものです。通常のPC利用においてファイルアクセスは必ず発生します。そのたびにCPUの待ちが発生してるわけです。ディスクの高速化がシステム全体パフォーマンスの底上げにつながると言っても過言ではないぐらいです。

じゃあ、いつやるのか?
「今でしょう」

続きを読む

世界初!Pure Java で DLL - 解説編(2)

さて続きです。

コード中で、実行してデバッガで追いかけてみないとわからない部分は、

long addr = 0x65f5520;
...
  jni.write(b ^ (byte)(addr/**//=32) & 037);  // b ^ (byte)(addr>>=5) & 0x1f

のあたりではないかと思います。


ビット演算の部分の解説

"Hello fooL !\n" を1バイトずつ取り出してXORしているのですが、この演算を詳細に追いかけてみましょう。

続きを読む

世界初!Pure Java で DLL

今回はかなり独創的でトリッキーな内容です。

このような試みはおそらく世界初です!

Wiindows ではダイナミックリンクライブラリ(すなわちDLL)というものがありますが、これをJavaで作ってしまおう!という内容です。

続きを読む

もしプログラムを書かなくてもよくなったら、どうする?

もうすぐ春ですね。

自己啓発も兼ねて、現場のエンジニアに向けて問い掛けをしてみようと思います。

新人エンジニアにも伝わるよう、話のレベル感を配慮したつもりです。

ちょっと怖い話かも。

続きを読む