- 博客(42)
- 资源 (5)
- 收藏
- 关注
原创 codis3.1 codis-test 安装部署实践之三 codis-test的配置及启动
本系列安装实践文档,参考codis 官方安装说明文档 https://github.com/CodisLabs/codis/blob/release3.1/doc/tutorial_zh.md#关闭防火墙,以免codis受到 各种虚拟机、docker环境的防火墙干扰 #防火墙状态 # systemctl status firewalld.servic
2016-10-22 17:34:58
930
原创 codis3.1 codis-test 安装部署实践之二 编译安装codis
本系列安装实践文档,参考codis 官方安装说明文档 https://github.com/CodisLabs/codis/blob/release3.1/doc/tutorial_zh.md#安装编译相关工具 [root@localhost src]# yum -y install gcc git make autoconf#安装 g
2016-10-22 17:33:58
1365
原创 codis3.1 codis-test 安装部署实践之一 zookeeper 安装部署实践
本系列安装实践文档,参考codis 官方安装说明文档 https://github.com/CodisLabs/codis/blob/release3.1/doc/tutorial_zh.md参考 Zookeeper 安装和配置 http://coolxing.iteye.com/blog/1871009#三台服务器,每台服务器的 hosts
2016-10-22 17:33:01
1737
原创 问题处理备忘
网络 服务端程序,尽量避免主动关闭连接 连接量大的时候,主动关闭大量的连接,会有大量 time_wait 此时尽量让 客户端来关闭连接,服务端做半关闭即可(半关闭 写) 另,《为什么 muduo 的 shutdown() 没有直接关闭 TCP 连接? 》提到 用 sh
2013-02-28 09:48:27
408
原创 pprof 的使用
1、安装您可以在 google-perftools 的网站 (http://code.google.com/p/google-perftools/downloads/list) 上下载最新版的安装包2、编译与运行void bar(){ for(int i = 0; i < 1000; i++) { ; }}void
2013-02-18 16:05:28
1497
转载 map hash_map unordered_map 性能测试 统计
http://blog.chinaunix.net/uid-20384806-id-3055333.html map hash_map unordered_map 性能测试 【1】插入总数/总处理时间 单位us(微秒)
2013-02-01 11:10:10
398
转载 dirlt 的muduo笔记
dirlt 的muduo笔记1 Muduohttp://code.google.com/p/muduo/.在分析muduo之前必须了解一下作者的想法:http://www.cnblogs.com/Solstice/archive/2010/08/29/muduo_net_lib.html线程安全,支持多核多线程不考虑可移植性,不跨平台,只支持 Linux,不支持
2012-05-24 19:17:04
641
原创 线程池模式举例:HS/HA 半同步/ 半异步模式与L/F 领导者跟随者模式
本文根据网上资料整理据《面向模式的软件架构2 - POSA2》总结,线程池有两种模式:HS/HA 半同步/ 半异步模式与L/F 领导者跟随者模式这里不做概念论述,直接上例子1、HS/HA 半同步/ 半异步模式 又称生产者消费者模式 HS/HA 模式 在队列中存放的是数据,队列的两端分别是生产者和消费者1.1、原始版本 原始的多线
2012-05-24 15:23:25
1528
转载 volatile、mutex、gcc __sync_*原子操作 比较
1、volatile 取消了编译器优化, 强制从内存读 而不是从CPU缓存读 常见例子,用 volatile 修饰 线程退出标志 (int isThreadEnd),只是为了保证 isThreadEnd 的赋值不受编译器优化而忽略执行; 因为 isThreadEnd 是个int flag,加上整型赋值的原子性(具体 [精彩] 对int变量的赋值是原子操作吗? ),因此多
2012-05-23 17:46:26
1198
原创 awk 二次分割字符
【需求】 ...|fieldA=11|fieldB=12|fieldC=13|time=14|... ...|fieldA=21|time=22|fieldB=23|fieldC=24|... 把 time=## 中,时间满足一定条件的,找出来(如小于5、小于4等等)注意,其中time列的位置 不是固定的 $cat 99.txt2012-01-13
2012-01-13 16:41:42
2860
转载 游戏服务器架构探讨(ZT)
这里讨论的游戏服务器架构大概是目前国内乃至世界上的网游通用的一种架构了:http://bbs.gameres.com/showthread.asp?threadid=93775作者:qinglan有段时间没有研究技术了,这次正好看到了新版的mangos,较之以前我看的版本有了比较大的完善,于是再次浏览了下他的代码,也借此机会整理下我在游戏服务器开发方面的一些心得,与大家探讨。
2011-11-24 11:20:19
528
原创 用 grep 实现敏感词屏蔽
$cat filters.txt 敏感词1|敏感词2|...|敏感词N filters1.txt只有一行 $echo "敏感词" | egrep filtersBuff |wc$1 $echo "非敏感词" | egrep filtersBuff |wc$0 其中 filtersBuff 表示 filter.txt的内容 "敏感词1|敏感词2|...
2011-11-24 11:18:14
724
原创 A星算法-2 A*方法总结
先看明白 http://zone.emsky.net/?uid-2-action-viewspace-itemid-118 或者 本博客中的《A星算法-1 A星路径搜索算法入门》图例所示 留意图例中的父指针;非常重要的要点;然后对着以下说明,重新看一遍图示,有宏效;好,现在你已经看完了整个说明,让我们把每一步的操作写在一起: 1,把起始格添加到开启列表。
2011-11-24 11:14:06
880
转载 A星算法-1 A星路径搜索算法入门
作者: Patrick Lester译者:Panic2005年3月18日译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研究一下这个被人推崇备至的简单方法,作为学习人工智能的开始。这篇文章非常知名,国内应该有不少人翻译过它,我没有查找,觉得翻译本身也是对自身英文水平的锻炼。经过努力,终于完成了文档,也明白的A*算
2011-11-24 11:12:19
1054
1
转载 C++ 虚函数表解析
C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的
2011-11-24 11:09:50
263
原创 linux调整系统时间
修改操作系统日期: #date -s 2008/2/22修改操作系统时间 #date -s 14:58:20显示 CMOS 日期时间 #hwclock --show 将操作系统日期、时间写入 CMOS时间 #clock -w
2011-11-23 20:35:46
321
原创 指针实例:指针的指针,数组指针,指针数组
本人的基础不太好,对指针经常犯晕,写点实例供备忘; 指针网上学习资料: http://learn.akae.cn/media/ch23.html #include #include #include #define ARRAY_ROW 5#define ARRAY_COL 6void fun1( int c, char ** input ){
2011-11-23 20:34:45
271
原创 设置线程栈大小
要设置stack的原因是 linux下进程空间大约是3G 每线程默认8Mstack,这样大概只能启300左右线程就会耗光进程的空间资源 设置每线程 1Mstack,足够启3000 个线程
2011-11-23 20:34:11
724
原创 痛苦的epoll+线程池实践 2 相关模式的设置
参见 《经验实在太重要了:epoll的一些补充》epoll模式分为ET边缘模式和 LT水平模式IO 阻塞模式分为 阻塞和非阻塞1、ET边缘模式(listen socket fd)+非阻塞(listen socket fd) 可以使用同一线程的epoll,但是应注意如果是 listen socket fd可读,应使用 while 重复 accept 多个连接2、ET边缘
2011-11-23 20:33:36
639
原创 痛苦的epoll+线程池实践 1 程序架构
感谢 《经验实在太重要了:epoll的一些补充》 我陷在epoll摸索的泥潭中,没有这个文章,不知道何时才能脱身; 公司游戏网关原来使用单线程poll,从整体需求来说,支持 4000 在线客户端即可,初步感觉原有架构已足够使用;有瓶颈的话,适当调优即可; 但是老大拍脑袋决定使用 epoll+线程池,个人又非常想摸索一下 epoll,而且这对提高系统性能有很大帮助,所以何乐而不
2011-11-23 20:32:43
653
原创 mysql 全文索引,回避like 的低效
为什么要用全文索引呢? 一般的数据库搜索都是用的SQL的 like 语句,like 语句是不能利用索引的,每次查询都是从第一条遍历至最后一条,查询效率极其低下。一般数据超过10万或者在线人数过多,like查询都会导致数据库崩溃。这也就是为什么很多程序都只提供标题搜索的原因了,因为如果搜索内容,那就更慢了,几万数据就跑不动了。 Mysql 全文索引是专门为了解决模糊
2011-11-23 20:31:11
475
原创 proc oracle 连接释放不了的问题
笔者公司的应用系统每隔一段时间,oracle连接就达到上限了;怀疑是应用没有正确的释放oracle连接;说来惭愧,proc断断续续的用了几年,可能是以前公司的代码写得太好了,从没有去关心基本的proc连接、释放是怎么处理的,这问题逼得我得去熟悉这方面的东西了;弄了两天才找到问题的根源,其中大半时间是熟悉原系统的代码、定位问题,其他时间是找网上的资料看、做相关的测试; 经过分析,将问题定位
2011-11-23 20:30:19
1021
原创 提升g++的编译速度的第一选择:ccache
我现在就职公司的应用,unix环境,用到了ace(Adaptive Communication Environment),基本使用c++开发,支持oracle、sybase、db2三种数据库,g++编译器,编译超慢,编译整个工程要15分钟左右;同事们都说是跟ace的使用有关; 以前都是搞unix/linux 下c比较多,都是用gcc,基本没有编译超慢的问题;到这公司后才开始搞c++,一来就碰
2011-11-23 20:29:49
3836
原创 vmware 中linux AS4 安装oracle 10g记录
参照 oracle官方安装文档: http://www.oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.html 1> 安装准备 1.1>下载oracle安装程序 在oracle 官网下载 oracle 10g for linux(10201_database_linux
2011-11-23 20:23:47
394
原创 Linux AS4 安装ACE记录
本文参照网络文章,同时结合自己的实践写的 1、获取安装包到ACE的官方网站http://www.cs.wustl.edu/~schmidt/ACE.html或者http://riverace.com/index.htm下载最新版的ACE,我下的是ACE-5.6.tar.gz; 菜鸟们不要下错了,*.tar.gz是类Unix平台的版本,*.zip是windows平台的版本
2011-11-23 20:22:08
340
原创 Vi 命令集
vi filenameEsc进入命令模式i or I 进入文本模式:wq 退出命令祥解:进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第
2011-11-23 20:20:48
426
转载 SYBASE12.5.2 FOR REDHAT AS4.0 安装步骤
(转载,修正了原文的一些问题) 原文地址:http://unix-cd.com/vc/www/44/2007-07/6167.html 说明:操作系统是REDHAT LINUX AS 4.0,SYBASE12.5.2改变了以前的rpm包安装方式,用setup文件,直接双击安装。经过一段时间的摸索,安装成功,并在生产环境平稳运行了几个月。现将安装过程整理出来,希望能对大家有
2011-11-23 20:19:52
532
原创 hostname的修改
1.1> 修改/etc/sysconfig/network文件,修改如下行(没有则添加) HOSTNAME=主机名 1.2> 在shell下运行"hostname 主机名" 1.3> 修改/etc/hosts 中的主机名
2011-11-23 20:18:33
366
原创 vsftp chroot的设置
1> 修改 /etc/vsftpd/vsftpd.conf chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list 2> 修改 /etc/vsftpd.chroot_list 把无需 chroot 的用户名添加入该文件中 3> 重启vsftpd service vsftpd restart
2011-11-23 20:16:49
431
转载 automake autoconf 学习笔记
不知为什么,看英文资料总是记不住,看过就忘,还是记下来的好. 所以Linux的中文版无论对谁都是很重要的.通俗地说:automake 用于 Makefile.am ->Makefile.inautoconf 用于 configure.ac ->configure configure 用于 Makfile.in -> Makefile注: configure.ac 以
2011-11-23 20:16:09
442
原创 crontab定时任务的环境设置
问题: 在shell下执行程序或者脚本都没有问题,但是放到crontab定时任务里以后,发现不能正常执行或者报错,那有可能是这些程序或者脚本依赖于profile里定义的环境变量解决: 在执行程序或者脚本前先运行profile即可: $crontab -l 0 0 * * 0 . /etc/profile;. ${HOME}/.profile;cd ${HOME};todo.sh t
2011-11-23 20:14:22
313
原创 cat合并文件的问题(整理)
前言:网上有类似问题的描述,大都称为“合并文件的问题”,但是其中大部分是关于paste合并文件的,而不是cat连接文件。以下内容对网上他人资料的整理。问题描述:有两个文件文件1:454566456643(此处没有换行符)文件2:783333785452执行cat 1 2 > 3后是这样的:454566456643783333785452可是我
2011-11-23 19:39:11
3340
原创 inux下创建sybase数据库
1> 任何情况下,在isql输入命令的时候,注意sybase的log(在$SYBASE install目录下的log) 2> 创建数据库设备(逻辑设备,物理设备),如果物理设备是文件(而非裸设备),则该文件必须之前是不存在的,否则sybase会报错 如,创建180M的数据库设备: disk init name="data
2011-11-23 19:21:14
256
原创 增加sybase 日志空间
1> 通过 DBArtisan 或者 Sybase Central 将原有日志设置(dev_intlot_log)设置 resize 在这里resize 2000M2> 使用命令行扩大日志空间( 用sa用户)use mastergoalter databaseintlot log on kdev_intlot_log = 2000go其中 intlot
2011-11-23 19:20:21
1147
LeetCodet题解(C++版).pdf
2017-10-19
学习 bash (第二版)中文版
2008-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人