10月 23

PHP GDインストール

By ststyle Install, PHP コメントは受け付けていません。

PHPにて画像関連を扱うためのライブラリのインストール

GD関連ライブラリのインストール

zlib のインストール

su -
cd /usr/local/src
tar xzvf zlib-1.1.4.tar.gz
cd zlib-1.1.4
./configure --shared
make

su
# make install

PNG のインストール

※zlib などの位置を指定するために、Makefile を編集します。


cd /usr/local/src
tar xvzf libpng-1.0.15.tar.gz
cd libpng-1.0.15
cp scripts/makefile.linux Makefile

vi Makefile

-*-*-*-*-*-*-*-*-*-*-*-*-*
ZLIBLIB=/usr/local/lib
ZLIBINC=/usr/local/include
-*-*-*-*-*-*-*-*-*-*-*-*-*

make
make install




<h3>jpeg のインストール</h3>



cd /usr/local/src
tar xzvf jpegsrc.v6b.tar.gz
cd jpeg-6b

次に、configure を実行します。
共有ライブラリもコンパイルしたい場合は、
–enable-shared オプションをつけます。


./configure --enable-shared
make
make install

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
!!!エラー発生の場合!!!

※そのようなファイルやディレクトリはありません
make: *** [install] エラー 1

::対処法::
libtoolをコピーし実行権限を付与する(エラーでないよといわれる)


cp /usr/local/src/libtool /usr/local/src/jpeg-6b/.
chmod 777 /usr/local/src/jpeg-6b/libtool

/usr/local/man/man1 ディレクトリが存在しない場合は
/bin/install: cannot create regular file `/usr/local/man/man1/cjpeg.1':
No such file or directory
のようなエラーが出ると思います.この場合は
::対処法::
install -d /usr/local/man/man1

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*


install -d /usr/local/man/man1

もう一回
make install

gd のインストール
最後に、gd ライブラリのコンパイルです。
まず、ソースを展開し、展開したディレクトリに移動します。

cd /usr/local/src
tar xzvf gd-1.8.4.tar.gz
cd gd-1.8.4

以下の//部は実行していません
//TTF、Xpm、FreeType などのライブラリを持っていて、
それらの機能を組み込みたい場合は、Makefile を変更してください。
また、コンパイルオプションを変更したい場合も、
直接 Makefile を変更する必要があります。

//CFLAGS=-O2 -DHAVE_LIBPNG -DHAVE_LIBJPEG -DHAVE_XPM -DHAVE_LIBTTF
//LIBS=-lgd -lpng -lz -lm -ljpeg -lXpm -lX11 -lttf
//変更が終わったら、make します。
//> make

root ユーザになってインストールを行います。


make
make install

あとはPHPインストール時に

configureのオプション指定を行えばOKです。

Tagged with:
10月 23

PostgreSQl チューニング

By ststyle PostgreSQL, tuning コメントは受け付けていません。

チューニング(多少の..)


ipcs -lm

------ シェアードメモリの制限 --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 1073741824
min seg size (bytes) = 1

echo $((4194303 / 1024))=4095
echo $((1073741824 / 1024 / 1024)) = 1024:1G

チューニング(多少の…) (実メモリ1G)


su postgres
vi /var/pgsql/data/postgresql.conf

同時接続数
max_connections = 50

共有バッファを増やす(物理メモリの 1/4~1/2)
#shared_buffers = 32MB      # min 128kB or max_connections*16kB
↓
shared_buffers = 512MB    (物理メモリの1/4~1/2(DBが主な仕事の場合))

#参考値
#1000ページ(8MB)
#2000ページ(16MB)
#4000ページ(32MB)
#8000ページ(64MB)
#16000ページ(128MB)
#32000ページ(256MB)
#64000ページ(512MB)
#128000ページ(1024MB)(1G)
#256000ページ(2048MB)(2G)
#512000ページ(4096MB)(4G)
#1024000ページ(8012MB)(8G)

●テンプバッファの調整
#temp_buffers = 8MB                     # min 800kB
↓
temp_buffers = 16MB                     # min 800kB

●ソートメモリ
#work_mem = 1MB                         # min 64kB
↓
work_mem = 8MB                          # min 64kB

●トランザクションログバッファの調整
wal_buffers = 64kB                     # min 32kB
↓
wal_buffers = 256kB

postgreSQlの再起動


pg_ctl restart

PostgreSQLの再起動時に
This error usually means that PostgreSQL’s request for
a shared memory segment exceeded your kernel’s SHMMAX
parameter.云々
といわれる時は
/proc/sys/kernel/shmmax の値を増やします


#echo 130023424 &gt; /proc/sys/kernel/shmmax  等
Tagged with:
10月 23

postgres-dblink インストール

By ststyle Database, PostgreSQL, dblink コメントは受け付けていません。

postgres-dblinkでは

接続中のPostgreSQLで他のPostgreSQLデータベースのデータにアクセスする為のライブラリ

contribで提供されているdblinkを利用します

postgres-dblinkインストール

postgresのsrcディレクトリ内のcontrib/dblinkへ移動


su postgres
make
make install

$ psql -U postgres -d {DBNAME} &lt; dblink.sql

※{DBNAME}はdblinkを利用したいデータベース名。
これをtemplate1とすることで今後作成するデータベースで利用できるようになる。

● 使用方法
“[" と "]” で括られている接続識別名は省略可能です。
ただし接続識別名を接続時に指定した場合は常に必要です。※ “[" および "]” は記述不要。

* アクセスしたいテーブルなどがあるデータベースに接続
select dblink_connect(['{接続識別名}', ]‘{接続文字列}’);
※    {接続文字列}にはlibpqのPQconnectdb関数で利用するキーワードを記述します。
参照.) PostgreSQLマニュアル – libpq – Cライブラリ – データベース接続制御関数
ex.)
select dblink_connect(’conn1′,
‘host=dbsv port=5432 dbname=mydb user=scott password=tiger’);
* 検索(SELECT)
select *
from dblink(['{接続識別名}', ]
’select {列名}[, {列名}...]
from {オブジェクト名}’)
t1({列名} {データ型}[, {列名} {データ型}...]);
ex.)
select *
from dblink(’conn1′,
’select oid, relname
from pg_class’)
t1(oid oid, relname text);
* 更新(UPDATE/INSERT/DELETE)
select dblink_exec(['{接続識別名}', ]{DML文}[, fail_on_error]);
ex.)
select dblink_exec(’conn1′,
‘delete from emp where empno=7800′);
* データベースから切断
select dblink_disconnect(['{接続識別名}']); ex.)
select dblink_disconnect(’conn1′);

dblinkのテスト

接続


select dblink_connect('conn1','host=XXXXX port=5432 dbname=replication user=XXX password=XXXX');

切断


select dblink_disconnect('conn1');

検索


select dblink_connect('conn1','host=データベース1 port=5432 dbname=replication user=XXX password=XXX');
select * from dblink('conn1','select a from rep') t1(a integer);
select * from dblink('conn1','select count(*) as cnt from rep') t1(cnt integer);
select dblink_disconnect('conn1');

select dblink_exec('conn1','delete from emp where empno=7800');

select dblink_connect('conn1','host=データベース1 port=5432 dbname=replication user=XXX password=XXX');
select dblink_connect('conn2','host=データベース2 port=5432 dbname=replication user=XXX password=XXX');

select *
from
dblink('conn1','select count(*) as cnt from rep') t1(cnt integer),
dblink('conn2','select count(*) as cnt from rep') t2(cnt integer)
;

おー素晴らしいー

異なるデータベースをひとつのSQL文で取得できちゃいました。

cnt | cnt
-----+-----
10 |  10
(1 row)

select dblink_disconnect(’conn1′);

Tagged with:
10月 23

pgbench インストール

By ststyle PostgreSQL, pgbench コメントは受け付けていません。

pgbenchにてpostgreSQLの

ベンチマークを測定する事ができます

言うまでもありませんがポスグレをインストールしたサーバで行います。

pgbenchのインストール

su postgres
cd /usr/local/src/postgresql-8.3.4/contrib/pgbench
make
make install

ベンチマーク用データベースを作成し、初期化


createdb pgbench
pgbench -i pgbench

測定評価

tps(trunsaction per second)値が高いほど良い

デフォルトはクライアント数1、トランザクション数10で

SELECT,INSERT,UPDATEが実行される
tpsは1秒間に処理可能なトランザクション数で

数字が大きいほど性能が良いということ
2行の違いは接続の確立に要した時間を含むか含まないか

SELECTのみをクライアント数10、トランザクション数100とする場合は


$ pgbench -S -c 10 -t 100 pgbench
Tagged with:
10月 23

pgpoolAdmin インストール

By ststyle Database, PostgreSQL, pgpool-II, pgpoolAdmin コメントは受け付けていません。

pgpoolAdminはpgpoolの管理をするためのツールです。

GUIベースで、pgpoolの状態監視や起動・停止、pgpool.confの設定を行うことができます.

pgpoolAdminの取得

pgpoolAdminを入手する

apacheのドキュメントディレクトリにて展開&リネーム

tar zxvf pgpoolAdmin-2.1-beta1.tar.gz
mv pgpoolAdmin-2.1-beta1 pgpoolAdmin

chown nobody /usr/local/apache/htdocs_ssl/pgpoolAdmin/conf/pgmgt.conf.php
chmod 644 /usr/local/apache/htdocs_ssl/pgpoolAdmin/conf/pgmgt.conf.php

pcp.confにログインアカウントを登録する

ここではtestとしていますが実際はセキュアなパスワードを設定する事

md5パスワードを取得


/usr/local/pgpool/bin/pg_md5 test

098f6bcd4621d373cade4e832627b4f6

pcp.confに追記


vi /usr/local/pgpool/etc/pcp.conf

# USERID:MD5PASSWD
test:098f6bcd4621d373cade4e832627b4f6

ブラウザで確認

http://<サーバ>/pgpoolAdmin/login.php

pgpoolAdmin

TOP画面

pgpoolAdmin-02

Tagged with:
preload preload preload