- 博客(21)
- 收藏
- 关注
原创 记录一次公司网站调优过程
这几天公司网站每当业务高峰的时候,就出现如下状况:1)web服务器CPU负载30~50%左右。(状况正常)2)Mysql数据库负载正常。3)连接Redis的Jedis 2.5.2 + common.pool2,一直报can not get a resource。Jedis Pool的配置是:timeout=2000max_total=30ma...
2014-09-15 14:37:29
157
原创 Java socket , 服务端与客户端多线程交互
Socket服务端,用一个池对象来保存SocketServer接收到的socket链接。实现过程中注意接收客户端连接,只要客户端进行了连接,就会触发accept();从而建立连接。如下:socket=serverSocket.accept(); 此时需要new Handler(socket)一个对象,并将其放入线程池中。如下:executorService.exe...
2013-05-24 14:34:33
239
原创 Ubuntu 安装 PHP5.4 和 Nginx 并以PHP fast cgi模式启动
[b]编译安装PHP 所需的支持库[/b][color=red][b]注:php在5.3.3以后的版本都已经集成了php-fpm[/b][/color][code="java"]tar zxvf libiconv-1.11.tar.gzcd libiconv-1.11/./configure --prefix=/usr/localmakemake install...
2013-05-23 10:34:35
291
原创 Ubuntu 源码安装 MariaDB 5.5.30
[b]添加mysql组,及mysql用户[/b]sudo groupadd mysqlsudo useradd -g mysql -s /usr/sbin/nologin mysql到 mariadb.org 下载 mariadb-5.5.30.tar.gz[b]编译,安装 MariaDB[/b]tar -zxvf mariadb-5.5.30.tar.gzcd...
2013-05-23 10:26:13
265
原创 C++ boost asio 学习(二)
同步socket例子服务端[code="c++"]#include #include #include #include using namespace std;int main() { try { cout
2013-05-09 16:32:06
115
原创 C++ boost asio 学习(一)
跟着 http://www.boost.org/doc/libs/1_53_0/doc/html/boost_asio/tutorial.html 学习asio。编译的时候需要加上 -lboost_system同步定时器例子[code="c++"]#include #include #include using namespace std;v...
2013-05-09 10:38:12
214
原创 C++ boost thread学习(四)
条件变量如果线程之间执行顺序上有依赖关系,可使用条件变量(Condition variables)。可以到boost官网中参考条件变量(Condition variables)的使用。条件变量必须和互斥量配合使用,等待另一个线程重某个事件的发生(满足某个条件),然后线程才能继续执行。共有两种条件变量对象condition_variable, condition_va...
2013-05-08 14:14:01
170
原创 C++ boost thread学习(三)
线程同步虽然多线程的使用可以提高应用程序的性能,但也增加了复杂性。如果使用线程在同一时间执行几个函数,访问共享资源时必须相应地同步。Boost.Thread提供多个的互斥类。boost::mutex是最简单的一个,它的使用就像linux下的二进制互斥量。互斥的基本原则是当一个特定的线程拥有资源的时候防止其他线程夺取其所有权,一旦释放,其他的线程可以取得所有权。这将导致线程等...
2013-05-08 10:38:03
167
原创 C++ boost thread学习(二)
线程中断在一个线程对象上调用 interrupt() 会中断相应的线程,并会在这个线程中抛出一个类型为 boost::thread_interrupted 的异常。如果给定的线程不包含任何中断点,简单调用interrupt就不会起作用。 每当一个线程中断点,它就会检查interrupt是否被调用过。只有被调用过了, boost::thread_interrupted 异常才会相应地...
2013-05-08 09:55:40
132
原创 C++ boost thread学习(一)
使用boost.thread的时候,记得link到项目中,否则会报找不到的错误。下面是使用mutex锁的例子[code="c++"]#include #include #include boost::mutex io_mutex;using namespace std;// 可以试试,将wait(int) 放在不同位置产生的效果void ...
2013-05-07 15:47:47
165
原创 安装、测试 Varnish
Varnish的安装依赖pcre下载获得最新版本的pcre安装pcre[code="java"]> tar -xjvf pcre-8.32.tar.bz2> cd pcre-8.32> ./configure --prefix=/usr/local/pcre/> make && make install[/code]为Varnish准备目录[code="...
2012-12-27 11:34:05
151
原创 安装、测试 Web Bench
Web Bench的安装依赖于ctags首先安装 ctags[code="java"]> wget http://prdownloads.sourceforge.net/ctags/ctags-5.8.tar.gz> tar zxvf ctags-5.8.tar.gz> cd ctags-5.8> ./configure> make && make instal...
2012-12-27 11:08:15
161
原创 Erlang log4erl使用
下载log4erlhttps://github.com/ahmednawras/log4erl我是使用README.txt上的svn下载的$> svn checkout http://log4erl.googlecode.com/svn/trunk/ log4erl$> cd log4erl$> make编译成功。新建一个测试项目test新建modu...
2012-06-06 17:47:31
292
原创 C++ 日志配置
C++ 日志配置项目路径 /workspace/community_service项目目录-src--community_cpp.cpp--log.hlog.h 定义了日志级别,及写日志等方法初始化日志文件community_cpp.cpp的main方法中初始化日志文件[code="c++"]try { // 定...
2012-06-06 17:23:06
195
原创 C++ 读取配置文件
C++ 读取配置文件项目路径 /workspace/community_service项目目录-src --config.h --config.cpp --community_cpp.cpp --systemInit.h --systemInit.cpp-thrift-thrift_cppcommunity_service.confcom...
2012-06-06 17:10:01
192
原创 Erlang mochiweb mnesia 集群部署
想在MochiWeb中用mnesia,并且让mnesia按集群部署。Erlang mochiweb 部署环境:2台centos系统的机器,在同一网段。设置hostip:192.168.2.126more /etc/sysconfig/network[code="java"]NETWORKING=yesHOSTNAME=centos-126GATEWA...
2012-06-06 16:22:40
191
原创 CentOS 安装 Erlang
在CentOS下,源码安装Erlang:下载Erlang源码安装:官网地址,http://www.erlang.org[code="java"]# cd /opt/# wget http://www.erlang.org/download/otp_src_R15B01.tar.gz[/code]解压:[code="java"]# tar -zxvf otp_...
2012-06-05 11:24:11
193
原创 C++ makefile 学习
项目所在路径/ide/c_cpp/workspace/community_cpp项目目录结构 -Debug -src -thrift -thrift_cpp Makefile[code="java"]BASE_DIR = /ide/c_cpp/workspace/community_cppSRC_DIR = "$(BASE_DIR)/src"TH...
2012-06-04 21:57:50
154
原创 RabbitMQ 集群
RabbitMQ 集群安装一、linux环境准备1)erlang2)配置所需的hostname,步骤详见,“附录一” 保证(1)master机器能用hostname ping通slave机器; (2)slave机器能用hostname ping通master机器。二、RabbitMQ下载,及环境配置1)获得安装包下载地址:http://www...
2012-06-04 10:23:26
147
原创 Erlang mnesia 集群
使用mnesia,启动为内存存储模式,及集群部署。第一步:创建online.hrl[code="erlang"]-record(chat, {user_name, pid } ).[/code]第二步:创建数据库初始化文件,online_init.erl,将chat表创建为ram模式,并且type为bag[code="er...
2012-06-01 15:02:51
253
原创 Erlang OTP takeover
Erlang通过配置,支持takeover。第一步:创建一个gen_server, im_chat_ets.erl,takeover要求实现start,stop这两个function,find是callback function用于处理业务。[code="erlang"]start() -> gen_server:start_link({global, ?MODULE}, ...
2012-06-01 14:25:52
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人