Entries from 2010-10-01 to 1 month

Linux環境下でのパフォーマンス問題調査

今、仕事で使っているパッケージ製品で、どうにもまったりと遅い画面操作があることに気付いたので、調査していました。今後の自分の参考情報として、作業記録を残しておくことにしました。 まずはtopコマンドで確認 OSのリソース状況確認をすれば、およそ検…

MySQLに重いSQLを投げて、帰って来ない時は

重い集計SQLなんかを実行したけど、いつまでたっても帰ってこない時の対処についてです。 まずは、topコマンドで確認します。大抵、以下の例のように、mysqldがリソースを使い切っています。 [root]# top top - 16:20:17 up 15 days, 6:50, 1 user, load ave…

cronの設定ファイルについて

バッチなどの自動実行でよく使うcronですが、実行ユーザ単位で設定すると思います。それらの情報は、下記のように「/var/spool/cron」配下にユーザ単位で保存されています。中身はcronの設定内容が記述されたテキストファイルです。 [root]# cd /var/spool/c…

よく使うPHPのコマンドラインオプション

個人的によく使う、PHPのコマンドラインオプションをまとめておきます。参考URL:サービス終了のお知らせ PHPのバージョンを確認 (php -v, php --version) [実行例] [root]# php -v PHP 5.2.9 (cli) (built: May 14 2009 20:58:31) Copyright (c) 1997-200…

PHPで一意な値を生成する

MySQLのレプリケーションのように、ステートメントベースのレプリケーションの場合には、auto_incrementなどの実行時に値が不定な関数は利用が推奨されません。従って、プログラム側で、一意となる値を生成する必要があります。そのような場合、PHPでは、以…

PostgreSQLでの「canceling autovacuum task」ログについて

PostgreSQLのログに、下記のエラーが出たので、調査してました。 ERROR: canceling autovacuum taskでも、「エラーではなく、あくまでキャンセル」とのことなので、気にすることはなさそう。*1原因としては、以下が想定できますが、頻繁に監視にひっかかると…

画像の上に自由に文字を配置する

こちら 「画像上の自由な位置に文字を重ねる方法 [ホームページ作成] All About」 を参考にまとめてみます。 実現方法のポイント スタイルシートの positionプロパティを利用 画像には、「position: relative;」を指定*1 文字には、「position: absolute;」…

viで行番号を表示

vi 実行中に以下の設定を行うと、行番号が表示されるようになります。 :set number 以下、実行結果の例です。 1 # 2 # This is the main Apache HTTP server configuration file. It contains the 3 # configuration directives that give the server its in…

wgetコマンドの使い方

基本 wget の構文は以下のようになっています。 wget -コマンドオプション (オプション引数) URL 基本の使い方はとても簡単で、wgetの後にURLを書けばいいだけです。以下のコマンドで、カレントディレクトリに index.html というファイルがダウンロードされ…

Apacheの.htaccessは極力使用しないこと

.htaccessとは Apacheの設定ファイルであるhttpd.confファイルとは親子関係 httpd.confが親で、.htaccessが子 特定のディレクトリだけの設定を行いたい場合に利用できる .htaccessを配置したディレクトリだけの設定が可能 共有サーバなどではhttpd.confは触…

Apacheのアクセスログに処理時間を出力する

WEBサイトへのリクエストがタイムアウトし、ブラウザがデータを受信できなくても、アクセスログ上は、HTTPのステータスコード200となります。Apacheは、ブラウザからの接続が切断されても、気にせずレスポンスを返して、ステータスコード200が記録されるよう…

historyコマンドの結果に日時も表示できるようにする

Linuxのhistoryコマンドで、実際にそれらのコマンドが実行された日時がわかればいいのになあと思っていたら、あったので方法を書いておきます。 まず、使用するためには、bash 3.0以降である必要がありますので、確認しておいてください。 [root]# bash -ver…

Slony-Iを利用する際の注意点

Slony-Iは、意外と運用が難しいので、構築時、または運用時における、注意点をまとめておきます。 ロードバランス機能は提供されない 複数のノードに対してデータの検索を振り分けたり、データの更新をマスタのみに送信したりするには、基本的にクライアント…

Pgpoolの各動作モードの使いどころ

Pgpoolには、以下のような動作モードがあり、用途によって使い分けることができます。それぞれの特徴やメリットをまとめた上で、各動作モードの使いどころを整理してみたいと思います。特にレプリケーション機能に関する違いがポイントとなります。 ここでは…

PHPのコンパイルオプションの調査

方法1.cat config.nice コンパイルした(はずの)ディレクトリに移動して「config.nice」ファイルの中身を確認します。 以下、コマンド実行例。 [root]# cat config.nice #! /bin/sh # # Created by configure './configure' \ '--with-apxs2=/usr/local/a…

grepでマッチする行以外に、前後の行も表示させたい場合

ソースをgrepを使って調査していると、改行の影響で本当に見たいところが見えず、結局、view,lessなどで中身を確認するという手間が発生することが多いです。 [root]# grep useTable users.php var $useTable = array( そこで、便利なのが「-表示したい行数…

CakePHPで「Warning (2): Illegal offset type」が出てたので調べた

CakePHPで画面を開発しているのですが、開発環境で画面に「Warning (2): Illegal offset type・・・」なんて出てるみたいだったので、ちょっと見てた。 原因 このメッセージは何かというと、PHPの配列に関するエラーで、連想配列のキーに「配列」を指定した…

PostgreSQL 8.3 から型チェックが厳密になっている件

PostgreSQL 8.3 からは、自動キャストがなくなり、SQLにおける型チェックが厳密化されたようです。 理由は、下記のように説明されています。 この変更の理由は自動キャストによって驚くような振舞いを引き起していたためです。 http://osb.sra.co.jp/technol…

Squidでのキャッシュ保存期間の設定(refresh_pattern)

キュッシュの保存期間をコントロールするための設定です。 頻繁に更新されるコンテンツは短く、画像ファイルなどはあまり変わらないので長くしたりします。 基本設定 refresh_pattern [-i] regex・・1 min・・2 percent・・3 max・・4 [options]・・5 正規表…

Squidでのキャッシュコントロールについて

Squidで、コンテンツをキャッシュする際は、方針を明確にするべきです。 特に、キャッシュNGのコンテンツがないか、注意を払う必要があります。 Squidでのコンテンツキャッシュ時の基本方針 URI(GETパラメータ含む)を元にキャッシュされるため、同じURIで、…

Apacheによるフォワードプロキシの構築

DMZなんかにプロキシサーバを立てて、外部サーバのAPIなんかを呼び出したい場合なんかに、Apacheでフォワードプロキシを立てる。 構成 APサーバ⇒(DMZの)フォワードプロキシサーバ⇒外部APIサーバ この構成にする理由 DMZをはさむことでネットワーク的なセキ…