ネットワークのスピードの測り方(ping)

pingでネットワークの速度を調査する ? @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/643pingspeed/pingspeed.html

pingで比較的大きなパケットを投げて、帰ってくる時間でだいたいの帯域がわかる。

たとえば


ping -l 60000 192.168.0.1
とかで、平均値を以下の計算で求める。

帯域≒(60000×2)÷0.053≒2.2[Mbytes/s]

インテリジェント・スイッチとスマート・スイッチの違い

インテリジェントってどういう意味?:ITpro
http://itpro.nikkeibp.co.jp/free/NNW/NETHOT/20040910/149757/

まとめると、
インテリジェント・スイッチ > スマート・スイッチ

要するにこれらは、スイッチングハブの、「ポートからイーサネット・フレームを受け取り,あて先アドレスに対応するポートからフレームを送り出すという仕事を専用の集積回路イーサネット・チップ)で処理しているもの。

上の機能プラス

[スマート・スイッチ]は、VLAN機能
[インテリジェント・スイッチ]は、管理機能などのための専用プロセッサつき

ということ。

phpでShift_JISを使用した際の文字化け

PHPの文字化けを本気で解決する ぎじゅっやさん
http://hain.jp/index.php/tech-j/2007/02/13/%EF%BC%B0%EF%BC%A8%EF%BC%B0%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91#

表題の件、apacheの設定かと思っていましたが、php.iniの設定が影響しているようです。参考にさせていただいたサイトにわかりやすく書かれていますが、default-charsetを指定していたのが原因でした。

勉強になりました。

CentOS5.3 インストール LVM HDDのマウント

使用していたCentOSが起動時のHDDエラーにより起動しなくなったため、HDDを入れ替える。最新版の5.3をインストール。
HDDエラーのデータも移動させたかったので、マウントしてみようとしたが、LVM形式のためすんなりとはマウントできなかったのでメモ。

LVMのボリューム名をデフォルトのままとしていたため、旧HDDと新HDDのボリューム名が同じであったため、ボリューム名の変更という手順が必要になりました。

以下を参考にさせていただき、解決。

LinuxでLVMのデータを抜き出す方法:ITPro
http://itpro.nikkeibp.co.jp/article/Watcher/20061106/252664/

Linuxでボリューム名が同じLVMをマウントしデータを読み書きできるようにする方法
http://www.aquanet.co.jp/howto/knowhow/lvm.html

1.旧HDDだけを接続して、CentOS LiveCD 5.0 日本語版でCDブート。
2.LVMコマンドでボリューム名を変更。


# lvscan
Active '/dev/VolGroup00/LogVol00' [56.16 GB] inherit
Active '/dev/VolGroup00/LogVol01' [1.00 GB] inherit
# vgchange -an VolGroup00 →無効にする
# vgrename VolGroup00 VolOldGroup00 →名前の変更
3.HDD2台を接続して再起動。(新HDDで起動)
4.lvscanでVolGroup00とVolOldGroup00の2種類のボリュームが確認できること。
  旧HDDのボリュームを有効にしてマウントする。

# lvscan
inactive '/dev/VolOldGroup00/LogVol00' [56.16 GB] inherit
inactive '/dev/VolOldGroup00/LogVol01' [1.00 GB] inherit
Active '/dev/VolGroup00/LogVol00' ...
Active '/dev/VolGroup00/LogVol01' ...
# vgchange -ay VolOldGroup00 →有効にする

# mount -t ext3 /dev/VolOldGroup00/LogVol00 /mnt/oldhdd →適当な場所にマウントする。

というような手順で古いHDDをマウントすることができた。

続・JWSアプリからHTTPSサイトにアクセスできない

原因がわかった。

http://smart.fm/users/kenkenwalker/journal/2008/7/11/62985#fn2
上記を参考にさせていただくと、%JAVA_HOME%\lib\security\cacertsに登録すればいいということで登録していたのだが、証明書を理解してくれない。JAVA_HOMEに指定しているJDK1.5.0_17内のcacertsのキーストアに証明書をインストールしてみた。Eclipse上から実行する場合、この対応だけでエラーは発生しなくなったが、JWS経由で実行するとエラーになるので、別のJava実行環境が使用されているようである。

jre6が最新版実行環境としてインストールされていたので、jre6のcacertsファイルにも証明書を登録しても同じであった。

そもそも、jnlpファイルでは、使用するJavaバージョンを1.5としているので、java1.5で動作しているはずであるのでおかしいなと思っていたのであるが。

よくよく確認してみると、PCのJavaのインストールフォルダは以下のようになっていた。ひょっとしてJREの方が使用されているのか?

インストールフォルダ

_j2re1.4.2_08
_j2re1.4.2_19
_j2skd1.4.2_08
_jdk1.5.0_17(%JAVA_HOME%に指定)
_jre1.5.0_17
_jre6

ずっと、JAVA_HOMEに指定しているjdk1.5.0_17を使用されていると思っていたが、java web startではjre1.5.0_17で動作していました。
jre1.5.0_17/lib/security/cacertsのキーストアに証明書をインストールすることによって接続できるようになりました。

これって、オレオレ証明書を使っている場合は、java実行環境のアップグレードのたびに証明書を実行環境にインストールしないといけないということになるね。

JWSアプリからHTTPSサイトにアクセスできない

java web startを利用したJavaアプリケーションから、Axis2での接続時に不正な証明書を表わす例外が発生。

オレオレ証明書がらみか?

Eclipse上から接続する際にも同様の例外が発生していたが、%JAVA_HOME%/jre/lib/security/cacertsに接続先の証明書を登録することにより接続できるようになった。JWSクライアントから接続するには、また別の方法が必要なのか?

【環境】
Java1.5.0_17(JAVA_HOMEの設定)
JWSはJava6の環境で動作している
開発はEclipse3.3.2


以下は発生した例外

org.apache.axis2.AxisFault: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:417)
at org.apache.axis2.transport.http.AxisRequestEntity.writeRequest(AxisRequestEntity.java:98)
at org.apache.commons.httpclient.methods.EntityEnclosingMethod.writeRequestBody(EntityEnclosingMethod.java:495)
at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:520)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:191)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:327)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:206)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:396)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:374)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508)
at org.apache.axis2.rpc.client.RPCServiceClient.invokeBlocking(RPCServiceClient.java:101)