% id postgres
id: postgres: no such user
(CentOS 版 PostgreSQL のデフォルトユーザ名 postgres が存在しない?!)
% id pgsql
uid=70(pgsql) gid=70(pgsql) groups=70(pgsql)
(FreeBSD では pgsql という名前で登録されています)
ここまできたら、次は DB の作成! となるのですが、どうやらうまく実行できないケースがあるようです。
今回インストールを試した環境では、下記のようなエラーが発生し、DB の作成が失敗してしまいました。
% rake db:create
WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
at /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
rake aborted!
no such file to load -- iconv
手順 10. の段階で DB の作成には成功しますが、下記のような WARNING が出力されてしまいます。
% rake db:create
WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
at /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
WARNING: Global access to Rake DSL methods is deprecated. Please include
... Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method Spec::Rake::SpecTask#task called at /home/ec/elecoma/lib/tasks/rspec.rake:15:in `initialize'
(以下略)
まずは Ruby on Rails に必要不可欠であるプラグインシステム、RubyGems をインストールします。
RubyGems はさまざまなプラグインの管理を行う一方で、Ruby on Rails のインストールまで行えるという優れものです。FreeBSD には、この RubyGems を最小限構成で導入するための port スケルトンが用意されています。
今回はこれを利用することで導入にかかる時間の短縮を図ります。
# cd /usr/ports/www/rubygem-rails-app-installer
# make config-recursive
(インストール時の設定を、依存ソフトウェア分もあわせて先に済ませてしまう)
# make install clean
(ここで Ruby とその他の必要なソフトウェアがインストールされる)
# stress
`stress' imposes certain types of compute stress on your system
Usage: stress [OPTION [ARG]] ...
-?, --help show this help statement
--version show version statement
-v, --verbose be verbose ← 詳細なメッセージを出力
-q, --quiet be quiet
-n, --dry-run show what would have been done
-t, --timeout N timeout after N seconds ← 負荷をかける時間を指定
--backoff N wait factor of N microseconds before work starts
-c, --cpu N spawn N workers spinning on sqrt() ← CPU負荷をかけるワーカーの数を指定
-i, --io N spawn N workers spinning on sync() ← IO負荷のワーカー数
-m, --vm N spawn N workers spinning on malloc()/free() ← メモリ負荷のワーカー数
--vm-bytes B malloc B bytes per vm worker (default is 256MB)← 使用するメモリ量を指定
--vm-stride B touch a byte every B bytes (default is 4096)
--vm-hang N sleep N secs before free (default is none, 0 is inf)
--vm-keep redirty memory instead of freeing and reallocating
-d, --hdd N spawn N workers spinning on write()/unlink()
--hdd-bytes B write B bytes per hdd worker (default is 1GB)
--hdd-noclean do not unlink files created by hdd workers
Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size)
好みの引数を渡して実行してください。別のプロンプトで接続し top や vmstat などを表示していると負荷状態の変化が見れて面白いです。