Sailor++

导航

 

2013年9月26日

摘要: English | VPS常用软件下载 |美国VPS主机推荐|代购服务|10美元以下VPS|VPS新手指南/教程|留言板|关于VPSer| VPS论坛 | 登录 |VPS侦探Linux流量监控工具 - iftop (最全面的iftop教程)2010年07月27日 下午 | 作者:VPSer在类Unix系统中可以使用top查看系统资源、进程、内存占用等信息。查看网络状态可以使用netstat、nmap等工具。若要查看实时的网络流量,监控TCP/IP连接等,则可以使用iftop。一、iftop是什么?iftop是类似于top的实时流量监控工具。官方网站:http://www.ex-parrot 阅读全文
posted @ 2013-09-26 20:10 SailorNet 阅读(205) 评论(0) 推荐(0) 编辑
 
摘要: 通过加宏日志分析效率瓶颈,主要是优化代码,减少锁竞争的机会,使单个线程控制锁变量的操作限制在最小的范围内。数据库效率是个瓶颈,当前测试的数据库访问消耗时间最大,1.注意SQL语句不要有 SELECT *出现,并且不要将不需要的字段出现在要查询的字段里面。2.对要查询的字段建立索引,用SELECT 的值最好设置为主键3.永远为每张表设置一个ID我们应该为数据库里的每张表都设置一个ID做为其主键,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的AUTO_INCREMENT标志。就算是你 users 表有一个主键叫 “email”的字段,你也别让它成为主键。使用 VARCH 阅读全文
posted @ 2013-09-26 17:49 SailorNet 阅读(193) 评论(0) 推荐(0) 编辑
 

2013年9月23日

摘要: 起因是event_base 跨线程add/remove event 导致崩溃或者死循环。据查:libvent 1.4.x是非线程安全的,要跨线程执行event_add,会有问题。因此传统做法是通过pipe来通知宿主线程执行event_add操作。libevent 2.0.x通过线程锁做到了线程安全,可以跨线程执行event_add。需要在创建event_base之前调用evthread_use_pthreads(),需要添加event_pthread 库,函数定义在event/thread.h//原理参照自http://blog.chinaunix.net/uid-17260303-id-33 阅读全文
posted @ 2013-09-23 17:16 SailorNet 阅读(6579) 评论(0) 推荐(2) 编辑
 

2013年8月28日

摘要: #include int stat(const char *restrict pathname, struct stat *restrict buf); int fstat(int filedes, struct stat *buf); int lstat(const char *restrict pathname, struct stat *restrict buf); struct stat { mode_t st_mode; /* file type & mode (permissions) */ ino_t st_ino; /* i-node number (serial nu 阅读全文
posted @ 2013-08-28 14:12 SailorNet 阅读(194) 评论(0) 推荐(0) 编辑
 

2013年8月27日

摘要: 1.细分为逻辑处理线程与IO读写线程,数据库处理线程。2.减少线程之间的锁竞争 阅读全文
posted @ 2013-08-27 17:12 SailorNet 阅读(150) 评论(0) 推荐(0) 编辑
 
摘要: 1.后台daemon程序(精灵程序)在Linux中专门提供了一个函数来完成这个daemon化的过程,这个函数的原型如下int daemon (int __nochdir, int __noclose);如果__nochdir的值为0,则将切换工作目录为根目录;如果__noclose为0,则将标准输入,输出和标准错误都重定向到/dev /null。经过这个函数调用后的程序将运行在后台,成为一个daemon程序,而linux下大多的服务都是以此方式运行的。 阅读全文
posted @ 2013-08-27 17:09 SailorNet 阅读(199) 评论(0) 推荐(0) 编辑
 

2013年8月22日

摘要: You must specify the compiler argument -std=c++0x to avoid the following error: test.cpp:5:13: error: default template arguments may not be used in function templates without -std=c++0x or -std=gnu++0x 阅读全文
posted @ 2013-08-22 16:24 SailorNet 阅读(251) 评论(0) 推荐(0) 编辑
 
摘要: 1.下载luabind地址http://sourceforge.jp/projects/sfnet_luabind/luabind.0.9.tar.gz解压到luabindeclipse新建LuaBind工程,属性静态库将所有的src目录和luabind目录全部复制进来。添加包含路径包括lua安装路径,lua目录下的include,luabind目录,boost目录;还要加上boost的lib目录2.安装lua开发包yum install lua_devel3.编译成libLuaBind.a4.C++调用luaC++项目要包换lua 和LuaBind这两个库--------test.lua-- 阅读全文
posted @ 2013-08-22 10:50 SailorNet 阅读(892) 评论(0) 推荐(0) 编辑
 
摘要: 安装依赖#yum install python-devel官网下载最新boost 安装包www.boost.org下载,解压,按照如下步骤:#tar xvzf boost_1_50_0.tar.gz进入boost_1_50_0目录:#cd boost_1_50_0然后是编译安装,boost源码包中有配置脚本,直接用就可以:#sh ./bootstrap.shBuilding Boost.Build engine with toolset gcc... tools/build/v2/engine/bin.linuxx86_64/b2DetectingPython version...2.6Det 阅读全文
posted @ 2013-08-22 10:30 SailorNet 阅读(320) 评论(0) 推荐(0) 编辑
 

2013年8月8日

摘要: 1、点击某个连接的 —-连接属性,2、切换到高级选项卡3、去掉勾选的“使用mysql字符集” 选项4、在“编码”处选择65001(UTF-8)5、点击确定再打开数据库查看,可见中文了 阅读全文
posted @ 2013-08-08 11:56 SailorNet 阅读(253) 评论(0) 推荐(0) 编辑