きぬろぐ


ProFTPdのPassivePorts

投稿者: kinusati, カテゴリー: Linux, freebsd

久しぶりにProFTPdの設定を行ったときに調べたことをメモ。

ProFTPdではFTPクライアントからPASVコマンドが送出された際に、クライアントに返却するポート番号を特定のレンジから選択する「PassivePorts」という設定項目があります。コレを使うことでクライアントに返却するポートを49152-65534に絞ることも出来るというもの。

ただし、設定したポート範囲でポートオープン出来ない場合は、Kernelでポート選択をしてもらった上でログに書き出すとのこと。実用性を考慮すればまぁこうなりますか・・と思った次第です。

コメントする

OpenLDAP 2.4でUnable to allocate memory for transaction detail

投稿者: kinusati, カテゴリー: Linux, solaris

OpenLDAP2.4に対して同時接続数を増やすテストを行っていたところ、以下のエラーがログに出力されました。

「Unable to allocate memory for transaction detail」

何だ?これ。と思ってしらべていたら、Oracleのサイトに以下の情報が。

Berkeley DB occasionally returns the error: "Unable to allocate  memory for transaction detail". What does that mean?This error means the maximum number of active  transactions configured for Berkeley DB has been reached. The Berkeley  DB environment should be configured to support more active transactions.  When all of the memory available in the database environment for  transactions is in use, calls to being a transaction will fail until  some active transactions complete. By default, the database environment  is configured to support at least 20 active transactions.

For more information see the "<a href="http://www.oracle.com/technology/documentation/berkeley-db/db/programmer_reference/txn_config.html">Configuring  transactions</a>" section of the Berkeley DB Reference Guide.

BerkeleyDBに対して設定されたActiveトランザクション数の最大値に達したとのこと。参照の試験しかしていないのにおかしいな・・・

とりあえずDB_CONFIGファイルのset_lg_regionmax, set_lg_bsizeを倍にしたら回避できた。

#set_lg_regionmax 262144
#set_lg_bsize 2097152
set_lg_regionmax 524288
set_lg_bsize 4194304

参照だけでもトランザクションを使うのでしょうかね。

コメントする

JMeterで高負荷をかけたい場合

投稿者: kinusati, カテゴリー: Linux

負荷測定ツールにOSSのApache JMeterというものがあります。かなり汎用的でつぶしがきくよいツールで、私もよく使います。JMeterについては以下の資料がよくまとまっています。

で、負荷をかける場合にはそのサーバの限界性能がどこかを探るケースが存在しますが、クライアント側のスペック不足やシナリオの作成方法が原因で負荷をかけきれないというケースがあります。スペック不足はともかくとして、シナリオ作成の方法がまずいことで計測結果が不十分になることはかっこわるいので、私が気がついた対処方法をまとめます。

ループはループコントローラで書け!

負荷をかける場合に、ユーザ1 – ユーザ10000迄のデータに連続してアクセスしたいケースがあったとしましょう。JMeterでこれを実装するには「While Controller」「ループコントローラ」を利用する方法があると思います。

While Controllerを利用した方法)

ループコントローラを利用した方法)

While ControllerでJavascriptを利用して変数評価を行う場合、非常に負荷が高くなるようで、ループコントローラと比較して数十分の1程度しか負荷がかけられなくなった事もあります。書き方は要注意ですね。

While Controller + Javascriptでループは回すなって事ですね。

計測時にリアルタイムでリスナーの統計レポート、結果をツリー表示、グラフ表示等は使うな!

JMeterでは各種リスナーが充実していて、エラー率・スループットが一目でわかる統計レポート・グラフ表示機能等が存在します。

しかしこれらの機能を負荷計測と同時に使用すると、これらの処理自体に負荷がかかる模様です。結果十分な負荷をかけられないという事も。

対策は、リスナーの「シンプルデータライタ」を利用することです。シンプルデータライタは計測時にログ(jtl)をとることだけ行いますので、負荷はあまりかかりません。

統計レポート・結果をツリー表示・グラフ表示で見たい場合は計測後にこれらリスナを登録し、計測ログ(jtl)を読み込ませればいいんです。これで計測時には十分な負荷をかけることが出来、結果も後で参照出来ると。

計測時にはリスナーの「シンプルデータライタ」を利用しろ!グラフ表示等は後で読み込ませて結果を確認しろ!という事ですね。

JMeterを使いこなすにはまだまだノウハウが必要ですね。勉強になります。

コメントする

OpenLDAP 2.4のチューニングについて

投稿者: kinusati, カテゴリー: Linux, solaris

OpenLDAP 2.4のチューニングについて調査していたら、日本LDAPユーザ会にいい資料がありました。

さあそ の先へ、OpenLDAPパフォーマンスチューニング

これは、便利。早速参考にさせて頂きます。

ところで、LDAPの負荷をかけるツールには私の知る限り二種類あります。

どっちがいいんですかね。SLAMD使ったこと無いからよくわからんな・・・またいつか調べましょう。

コメントする

RHELのサブスクリプションって・・

投稿者: kinusati, カテゴリー: Linux

ちょっとRHELのサブスクリプションについて調べることがあったので。

レッドハット サブスクリプションよくある質問

その中の以下一節。

質問:「なぜRed Hat® Enterprise Linux® のサブスクリプションを全てのシステムのそれぞれにつき購入する必要があるのですか?」
答え:Red Hat のサブスクリプションは、Red Hat が提供する商用サービスです。内容は次の通りです。
1. ハードウェア及びソフトウェアのプロバイダが自社製品との統合性をテストし、当該プロバイダによりその統合性が認証されたソフトウェアを提供する
2.Red Hat Network 経由のソフトウェアのアップデートとアップグレード
3. 電話やオンラインにより提供されるサポート
4. 知的所有権侵害の申立が為された時における保護

サブスクリプションっていうとアップグレード権・サポート権と思っていたけど、

「1. ハードウェア及びソフトウェアのプロバイダが自社製品との統合性をテストし、当該プロバイダによりその統合性が認証されたソフトウェアを提供する」というのには驚きがありました。RHELを利用することに対してもサブスクリプションが必要なんですね。ふむ。


		

コメントする

bouncehammer

投稿者: kinusati, カテゴリー: Linux, コンピュータ

バウンスメールのバウンス理由を分析する方法を検討する必要があったので調査したところ、bouncehammerなるオープンソースベースでのバウンスメール分析ツールがありました。

Perlベースでカスタマイズも出来そうなので、よさげですね。全部で7000行程度だし。

コメントする

drbdの導入

投稿者: kinusati, カテゴリー: Linux

LinuxのHAソリューションとして、お金をかけずに異なるサーバ間でハードディスクミラーを行うソフトウェアにdrbdというものがあります。

今回足下サーバ(CentOS 5.4 x64)にdrbdを入れてみたので、そのメモをWikiにまとめました。

http://wiki.kinusati.net/index.php/Linux:CentOS5%28×64%29:install:drbd83

かなり使いやすいので、びっくりですね。ストレステストも行ってみましたが安定していました。これは使えますね。

コメントする

centos 5.3にアップグレード後、yum updateが失敗する。pythonのエラーも出る・・

投稿者: kinusati, カテゴリー: Linux

yum update のエラー内容

CentOS 5.3 x64にアップグレード後、yum updateしようとしたら、以下のpythonのエラーが出ます。

--> Finished Dependency Resolution
libxml2-python-2.6.26-2.1.2.8.i386 from updates has depsolving problems
  --> Missing Dependency: /usr/lib/python2.4 is needed by package libxml2-python-2.6.26-2.1.2.8.i386 (updates)
libxslt-python-1.1.17-2.el5_2.2.i386 from installed has depsolving problems
  --> Missing Dependency: /usr/lib/python2.4 is needed by package libxslt-python-1.1.17-2.el5_2.2.i386 (installed)
gamin-python-0.1.7-8.el5.i386 from installed has depsolving problems
  --> Missing Dependency: /usr/lib/python2.4 is needed by package gamin-python-0.1.7-8.el5.i386 (installed)
Error: Missing Dependency: /usr/lib/python2.4 is needed by package gamin-python-0.1.7-8.el5.i386 (installed)
Error: Missing Dependency: /usr/lib/python2.4 is needed by package libxslt-python-1.1.17-2.el5_2.2.i386 (installed)
Error: Missing Dependency: /usr/lib/python2.4 is needed by package libxml2-python-2.6.26-2.1.2.8.i386 (updates)

で、よく調べてみると、以下ページに対策が書いてありました。

http://d.hatena.ne.jp/dink/20090819/1250641214

とりあえず、以下コマンドを実行して対応完了!

# yum clean metadata

コメントする

RHEL 5.3 (x64)にOracle11gR2のASMをインストールできず・・・

投稿者: kinusati, カテゴリー: Linux, Oracle

RHEL 5.3(x64)環境でASMを検証するためOracle Database 11g Release 2 Grid Infrastructureをインストールするとリンクエラーが発生して、インストールが失敗します。Oracle Database 11g Release 2は無事インストールできるのだが・・・

切り分けのためにCentOS5.2でOracle Database 11g Release 2とOracle Database 11g Release 2 Grid Infrastructureをインストールしたらエラーが出ずにばっちり動く・・・意味不明ですよ。

とりあえず検証することが目的なので、CentOSを利用することにした。


コメントする

Oracle11gR2インストール

投稿者: kinusati, カテゴリー: Linux, Oracle

日本のサイトではまだですが、米国のOracleサイトではOracle 11gR2がリリースされています。

http://www.oracle.com/technology/index.html

早速RHEL5.3(x64)にインストールしてみました。これから動作確認です。

順次以下Wikiページに導入メモをまとめていきますね。

http://wiki.kinusati.net/index.php/Oracle:Oracle11gR2%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%28x64_Linux%29TIP

コメントする

  

フリースペース

バナーやブログパーツなどを貼って、ご自由にお使いください。