- 浏览: 55479 次
- 性别:
- 来自: 北京
最新评论
-
conansadan:
要用GCC来编译,如果用APPLE LLVM是link不上的。 ...
使用thrift做c++,java和python的相互调用 -
visoeclipse:
Undefined symbols for architect ...
使用thrift做c++,java和python的相互调用 -
visoeclipse:
通过你的说法, 我编译结果出现下面错误:Type 'UserS ...
使用thrift做c++,java和python的相互调用
文章列表
上一篇 nginx,uwsgi,bottle,virtualenv在centos6上安装及性能测试 测试了nginx,uwsgi和bottle的性能
这篇继续测试一下mako模板性能
1、安装mako
tar -zvxf Mako-0.5.0.tar.gz
cd Mako-0.5.0
python setup.py install
2、修改上篇nginx配置文件
/usr/local/nginx/conf/nginx.conf
worker_processes 8; #24线程cpu,8个nginx,16个uwsgi
events {
worker_connec ...
C是王道
C++是正道
erlang是大道
python是歪门邪道
java是无间道
公司网站在用java做了3个版本后,终于选择要基本废弃java了。
原因有以下几个方面
1、单一堆的内存管理,stop the world的full gc
公司在很多服务层上需要高性能和及时的运算,并且要加载大量的数据到内存中,这些服务都会因full gc带来错误。
2、java打包部署的过程太过痛苦,现在生产环境使用hadson(原来用CC)做CI,每次代码提交,打包上生产的过程都很麻烦,再加上maven/ivy和ant这类的东西,几乎得有一个专职的配置管理人员。
3、java程序员是很 ...
终于决定废弃java而使用python来开发网站,测试web.py的性能有点失望,看到bottle性能不错,也满足我们的需求,符合python simple的理念。测试一下生产环境的性能。
参照http://studio.zeuik.com/?p=791
测试机器:X5650X2,48G内存,centos6,包括nginx,uwsgi
压测机器:X5680X2,96G内存
web.py把cpu几乎用尽的情况下也就5000req/s左右。
1、获取安装文件
nginx-1.0.10.tar.gz
uwsgi-0.9.9.2.tar.gz
virtualenv-1.6.4.tar.gz
bottl ...
linux上安装thrift见
http://jinghong.iteye.com/blog/1102535
thrift做为跨语言调用的方案有高效,支持语言较多,成熟等优点;代码侵入较强是其弱点。
下面记录以C++做服务器,C++,java和python做客户端的示例,这个和本人现在工作环境吻合,使用多线程长连接的socket来建立高效分布式系统的跨语言调用平台。
遗憾的是目前版本(0.7.0)的C语言还不支持Compact协议,导致在现在的环境中nginx c module调用thrift要使用binary协议。thrift开发团队似乎对C语言不太感冒。
1.定义idl文件acsuser.t ...
使用hbase作为用户行为分析的数据库,为了提高效率,集成了hive。
安装
使用cloudera的cdh3u0版本,hbase安装见http://jinghong.iteye.com/blog/1051732,
解压hive到/home/hadoop/cdh3
tar zxvf hive-0.7.0-cdh3u0.tar.gz -C /home/hadoop/cdh3
在hive/conf目录下复制hive-default.xml到hive-site.xml
修改hive-site.xml,添加
<property>
<name>hive.aux.jars.p ...
参照
http://jnb.ociweb.com/jnb/jnbJun2009.html
http://wiki.apache.org/thrift/GettingUbuntuPackages
安装 ant和ivy
sudo tar xzvf apache-ant-1.8.2-bin.tar.gz -C /usr/local
sudo tar xzvf apache-ivy-2.2.0-bin-with-deps.tar.gz -C /usr/local
编辑profile
sudo vim /etc/profile
在内容里添加
export ANT_HOME=/usr ...
在ubuntu11.04上按照默认的安装erlang R14B03,hipe不能工作
# erl
Erlang R14B03 (erts-5.8.4) [source] [64-bit] [smp:8:8] [rq:8] [async-threads:0] [kernel-poll:false]
Eshell V5.8.4 (abort with ^G)
参照http://codeswamp.com/2011/05/25/installing-erlang-r14b03-on-ubuntu-11-04/
安装步骤如下
apt-get -y install build-ess ...
查看linux某个服务端口的establish连接总数
netstat -antu | grep 8000 |grep EST| wc -l
解压文件到那个目录
tar zxvf xxxx.tar.gz -C /xxx/
递归查找目录文件里内容
grep Notifications `find ./*`
递归查找目录文件名
find /etc/httpd/ -name httpd.conf
查看监听端口
netstat -ntlp
查看TCP各状态数目
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
n ...
概述:
业务需要较实时的处理大数据量,并提供大吞吐量的读写,hbase作为一个可选的列数据库,记录一下安装过程,待查。
hbase的安装需要hadoop和zookeeper和hbase,生产环境下需要将zookeeper独立安装,并保证整个集群没有单点。
hbase软件选择cloudera的cdh3u0,apache的版本需要重新编译hadoop0.20.2-appender版以保证没有数据丢失。
1、规划机器
使用12个虚拟机作为集群测试,ip为192.168.0.221-232,hostname为ubuntu-1到ubuntu-12其中
机器名IP安装系统ubuntu-1192.168.0 ...
公司要使用redis作为key/value和简单结构的缓存服务器,同时作为高速队列使用,替换原来的memcached。
针对redis服务器的选型,简单的说是单线程能力的cpu越强越好,同时redis可以在一台服务器上部署多个点。
经过对比测试,最终决定使用性价比较高的dell R310单路服务器,X3470的处理器,32G内存,虽然内存只能工作在800MH,但redis更依赖CPU单线程的能力。
以下是测试数据,redis使用的2.2.2版
X3470
[root@l53-64 ~]# redis-benchmark -n 100000 -q
PING (inline): 123152. ...
硬件环境Dell 1950,E5410X2,16G
原先在使用centos 5.3 x64,内核版本为2.6.18-128.el5,在部署tomcat后,用ab做压力测试,大概有8000/s的吞吐量。
最近升级内核到2.6.35.4,同样用ab和webbench测试一下,结果如下
[root@OS90 webbench-1.5]# ab -c 1000 -n 20000 http://192.168.0.8:8080/examples/servlets/servlet/HelloWorldExample
This is ApacheBench, Version 2.0.40-dev < ...
来自http://code.google.com/p/aspersa/
#!/bin/sh
# This program is part of Aspersa (http://code.google.com/p/aspersa/)
# ########################################################################
# A script to summarize system information in a nice way.
# Goals: work well on Linux; create a compa ...