坚信科学,分享技术

2018全新版本,未来在blog.54chen.com更新博客!

>>>尝试更加利于阅读的2014版科学院,以后都在新版上写。

Tag Archives: linux

Web压力测试工具介绍

1.http_load 下载地址:http://www.acme.com/software/http_load/ 实际运行: bash# http_load -rate 5 -seconds 10 urls -parallel 简写-p :含义是并发的用户进程数。 -fetches 简写-f :含义是总计的访问次数 -rate 简写-r :含义是每秒的访问频率 -seconds简写-s :含义是总计的访问时间 urls.txt 是一个url 列表,每个url 单独的一行;不可以直接跟一个url,有些博客主说的可以跟一个url是错误的说法。 49 fetches, 2 max parallel, 289880 bytes, in 10.0145 seconds 5916 mean bytes/connection 4.89274 fetches/sec, 28945.1 …

Continue reading

Posted in linux, php | Tagged , , | 4 Comments

配置一个使用plproxy的PostgreSQL数据库集群

本文只有一个连接 没有那么多内容 http://www.pgsqldb.org/mwiki/index.php/配置一个使用plproxy的PostgreSQL数据库集群

Continue reading

Posted in linux | Tagged , | 1 Comment

plproxy部署手册

安装过程如下: 1 安装plproxy:下载plproxy.安装完成plproxy后,运行{$PATH_TO_PG}/share/contrib/plproxy.sql 2 建立数据库_proxy; 3 建立plpgsql语言; 4 在_proxy中建立模式plproxy;分配权限 grant all on schema plproxy to <用户>。 5 建立pgcluster;  --以上步骤sql语句: CREATE FUNCTION plpgsql_call_handler () RETURNS language_handler AS '/usr/local/pgsql/lib/plpgsql.so' LANGUAGE C; CREATE FUNCTION plpgsql_validator(oid) RETURNS void AS '/usr/local/pgsql/lib/plpgsql.so' LANGUAGE C; CREATE TRUSTED …

Continue reading

Posted in linux | Tagged , | 1 Comment

使用plproxy和pgbouncer完成分布式处理

  plproxy和pgbouncer都是skype开发的基于postgresql的开源应用;前者主要用于完成分布式计算,后者主要充当数据库连接池;它们的主页在[plproxy]和[pgbouncer]  plproxy的特性   使用plproxy类似于RPC;假设我们有A,B两台数据库,在A在创建一个plproxy的function,并指定一些参数和返回值,就可以在B上也创建一个同名的pgsql函数,并指定同样的参数和返回值;这样,在A上调用该function,通过适当地声明,就可以实现在B上调用该函数的同样效果,但结果是在A上返回的; plproxy还能合并多个结点服务器上返回的结果集,就像是这些结果是由一个函数产生的一样,方便客户端操作; plproxy可以指定同时在所有结点服务器上执行操作,或者只在指定的几台服务器上操作,或者只在任意一台结点服务器上执行操作; plproxy默认是自动提交的;也就是说,只要目标服务器的函数执行成功了,它就会提交;这样有可能造成各个结点数据库的状态并不一致;因为可能有的结点执行成功了,有的没有执行成功,但plproxy并不会因为一个结点失败就回滚其它结点的操作 一开始,我们只有一台账户数据库;但随着账户增加,单个数据库肯定满足不了需求;当多台数据库服务器并存的情况下,需要解决负载平衡的问题; 为此,我们在系统的syshostconfig表中存储了一个key为accountNum,value为整数的参数;每次进行开户操作时,先用plproxy在所有数据库上查出该值并返到proxy层;由pgsql函数找出哪个数据库的accountNum最

Continue reading

Posted in linux | Tagged , , | 1 Comment

pgpool安装

下载地址:http://pgfoundry.org/projects/pgpool/ 文件为:pgpool-II-2.0.1.tar,tar xvfj pgpool-II-2.0.1.tar 在pgpool-II-2.0.1目录下,执行./configure --prefix=/home/y/share/pgsql ----with-pgsql=/home/y/share/pgsql, 要求with-pgsql目录必须为pgsql安装目录。 之后执行gmake,sudo gmake install; pgpool需要用PCP命令来连接数据库检索数据,其用户名、密码是在pcp.conf文件中保存的。密码是经过md5加密的,需要用户手工输入。 cp /home/y/share/pgsql/etc/pcp.conf.sample /home/y/share/pgsql/etc/pcp.conf md5加密码可以用/home/y/share/pgsql/bin/pg_md5直接生成 :例/home/y/share/pgsql/bin/pg_md5 postgres 结果为e8a48653851e28c69d0506508fb27fc5 将用户名,密码记入到pcp.conf文件中。 pcp默认端口为pcp_port = 9898。可以在pgpool.conf文件内修改 cp /home/y/share/pgsql/etc/pgpool.conf.sample /home/y/share/pgsql/etc/pgpool.conf,默认连接端口为port = 9999, 默认只允许本地连

Continue reading

Posted in linux | Tagged , | Leave a comment

PostgreSQL系统安装(Linux)

1. 到 http://www.postgresql.org下载pg8.2.4 source 2. 编译安装pgsql tar xvfj postgresql-8.2.4.tar.bz2 cd postgresql-8.2.4 ./configure --prefix=/home/y/pgsql #注意下一步把这个目录加入你bash的PATH中去 gmake sudo gmake install sudo mkdir /home/y/pgsql/data sudo chown yahoo /home/y/pgsql/data sudo -u yahoo /home/y/pgsql/bin/initdb --locale=zh_CN.UTF-8 --encoding=utf8 -D /home/y/pgsql/data 3.创建数据库 cd /home/y/pgsql/bin sudo -u yahoo ./pg_ctl …

Continue reading

Posted in 生活备份 | Tagged , | 1 Comment

pgsql如何控制来自其他电脑的连接?

缺省情况下,PostgreSQL只允许来自本机且通过 unix 域套接字或TCP/IP方式的连接。你只有在修改了配置文件postgresql.conf中的listen_addresses,且也在配置文件$PGDATA/pg_hba.conf中打开了 基于远程电脑( host-based )的身份认证,并重新启动PostgreSQL,否则其他电脑是不能与你的PostgreSQL服务器进行连接的。 将postgresql.conf中的listen_addresses设为:listen_addresses = '*' 在pg_hba.conf中加入访问数据库的服务器的IP。如,IP=10.62.130.136,在pg_hba.conf的最后加入 host all all 10.62.130.136/32 trust

Continue reading

Posted in linux | Tagged , | Leave a comment

当Pg连接数达到一定数量时,Pgsql进程会终止,报Out of memory

Q: 当Pg连接数达到一定数量时,Pgsql进程会终止,报Out of memory A:在 Linux 2.4 以及之后的版本里,缺省的虚拟内存的设置对于 PgSQL而言不是最优的(32M)。原因也可能在于内核实现内存提交的方法导致出现了“过提交”内存(具体情况由于没有遇到,不作评述),如果其它进程的内存请求导致系统用光虚拟内存,那么内核可能会立即终止 PGSQL 服务器进程并会出具Out of memory报错,唯一的解救方法只能手工kill掉数据库进程,重启数据库。修改方法为: sysctl -w kernel.shmmax=134217728 sysctl -w kernel.shmall=2097152 sysctl -w vm.overcommit_memory=2 或者直接echo进proc中去(我个人喜欢比较传统的操作) echo 134217728 >/proc/sys/kernel/shmmax echo 2097152 >/proc/sys/kernel/shmall echo 2 > /proc/sys/vm/overcommit_memory 考虑到并不是每个人都乐意于每次开机都作此操作,最好还是修改/etc/sysctl.config文件添加相应的设置。 Slony不同步数据? Q:配置了Slony,并未报错,但数据没同步过来 A:你要同步的表都设置主键了么,如果没有设主键的Slony配置表的属性的时候要加Serial属性哦 Slony同步数据非常慢? Q:Slony同步数据非常慢,需要20~30s,且配置Slony

Continue reading

Posted in linux | Tagged , | 6 Comments

用SSH Tunnel临时突破跨机房的限制

[文章作者:陈臻 本文版本:v1.0 最后修改:2008.11.20 转载请注明原文链接:http://www.54chen.com/c/94] 今天遇到一个测试机的环境要连通生产机的pgsql,后来用了SSH Tunnel,记录一下: 在hostA中执行 $ssh -N -f -L 9000:hostB:8080 user@hostB N 不用建立shell f 连线后在背景执行 L 连接 这样在hostB中执行localhost:8080相当于访问hostA,也就建立了B到A的信任连接,突破了限制。 算是一句话的备忘,不过冒似不止一句了。

Continue reading

Posted in linux | Tagged , , | 2 Comments

[中秋零献] 神州数码802.1x局域网UDP拔号软件MyNet-Gnome源代码大分析(Part1)

/*** * Author: cc0cc * E-mail: cc0cc@126.com * WebSite: http://www.54chen.com * Date: the Mid-Autumn Festival of 2008 ***/ 概要:这个软件是三年前的时候在学校里写的,主要目的是给广大的Linuxers一个上网的机会,不过后来在我推出后官方又出了个Linux下的拔号二进制包。 PS:神州数码的局域网拔号软件在各大高校使用很多,有不少小区也是,一般官方发布的会有一定的限制。。。 熟悉802.1x协议的过程,对网络编程的学习也有一定的提高。 代码中的ASM汇编部分代码取自北航的高手xdkui(目前在MS就职),在此一并感谢他的努力hack。 声明:本代码只供学习使用,完全遵循计算机软件保护条例。 1.开发环境: gtk+/gnome Anjuta+Glade 2.文件树(截图): /*** * Author: cc0cc * E-mail: cc0cc@126.com * WebSite: http://www.54chen.com * Date: the …

Continue reading

Posted in linux | Tagged , , | 1 Comment
Page 2 of 3123