Postgres XL(PGXL)和Postgres XC(pgxl)的架构很类似,安装步骤也很类似。 本文使用源码在单机上搭建PostgreSQL的最简单集群,1个GTM,协调节点和数据节点各2个。 先去下载PGXL的源码包,在官网上有最新版,本文使用的版本是postgres-

阅读更多»

通过自定义classloader和java的反射技术,可以自行控制类的加载。多数的Web容器,例如,Tomcat中就实现了自己的类加载器,在修改编译代码之后,可以在不停服务的情况下,运行新class文件中的代码;还有,OSGi中也实现了更加复杂的类加载器,被认为是控制类加载的经典

阅读更多»

PostgreSQL本身没有集群功能,但是有开源的第三方解决方案,比较成熟的有Postgres XC(PGXC)和Postgres XL(PGXL)。PGXC跟进PostgreSQl的版本相对比较快,PGXL的功能比较强大一些,主要多了MPP (Massively Paralle

阅读更多»

JMeter是Apache旗下一款性能测试工具。本文用JMeter来测试不同GC参数下Tomcat的吞吐率,使用的Tomcat版本是7.0.55.0(目前最新版是8.0.12,这是7.0版的最后一个版本),JMeter的版本是2.11(目前最新版),JDK的版本是jdk1.6.0

阅读更多»

相比与Oracle来说,PostgreSQL的备份还是简单许多了,基本上只需要简单做数据文件的copy就可以完成。 所有操作都用postgres用户完成,所有用到的目录都对postgres用户赋予了权限,否则可能会有权限问题。先建立archive归档目录,用于备份WAL Log(

阅读更多»

PostgreSQL的进程结构 PostgreSQL是一个多进程结构的系统,由master主进程fork出一系列子进程,这些进程包括数据库实例的后台进程,例如,Data Writer、Achiver等,也有服务client的session进程。大致结构图如下, 在Postgre

阅读更多»

JVM的串行GC应该是Java最古老的GC了。其基本原理是,用一个额外的单线程来完成垃圾收集动作,该线程与其他线程是互斥的,也就是说,在这个线程进行垃圾收集工作的时候,其他线程全部都需要停下来,等待这个线程工作完成,这也就是垃圾收集里面的“stop the world”现象。多数

阅读更多»

jre的运行时主要jar文件rt.jar都很大,这导致了用java做的桌面客户端程序很难发布绑定jre发布。这在很大程度上限制了java桌面软件的分发。可是,jre并不是在所有的用户计算机上都有安装,即使安装了,也未必我们期望的版本。因此,对jre做精简,减少体积是有必要的。 减

阅读更多»

由于PostgreSQL的代码托管是使用GIT做源码管理工具的,需要先安装git。 1yum install git 所有的PostgreSQL项目的代码可以在这里找到。将代码clone到本地 1git clone git://git.postgresql.org/git/pos

阅读更多»

JVM的OOM异常简介 JVM的OOM(OutOfMemory)异常一般有以下几种,转载自1。 java.lang.StackOverflowError:(很少) java.lang.OutOfMemoryError:heap space(比较常见) java.lang.Out

阅读更多»

欢迎来到Valleylord的博客!

本博的文章尽量原创。