摘要:WINDOWS下: 所谓双网卡,就是通过软件将双网卡绑定为一个IP地址,这个技术对于许多朋友来说并不陌生,许多高档服务器网卡(例如intel8255x系列、3COM服务器网卡等)都具有多网卡绑定功能,可以通过软硬件设置将两块或者多块网卡绑定在同一个IP 地址上,使用起来就好象在使用一块网卡,多网卡绑
阅读全文
01 2019 档案
摘要:在Linux下经常要安装部署一些软件包或者工具,拿到安装包之后一看,简单,configure,make, make install即可搞定。 有时候我就在想,这个configure,make ,make install是什么意思呢,configure是测试存在的特性,然后make开始编译,make
阅读全文
摘要:合并openjpeg/soxr/vidstab/snappy等多个cmake库时,为了解决下述问题: relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with
阅读全文
摘要:1.CLOSE_WAIT的简单解决方案 不久前,我的Socket Client程序遇到了一个非常尴尬的错误。它本来应该在一个socket长连接上持续不断地向服务器发送数据,如果socket连接断开,那么程序会自动不断地重试建立连接。 有一天发现程序在不断尝试建立连接,但是总是失败。用netstat查
阅读全文
摘要:TIME_WAIT状态原理 通信双方建立TCP连接后,主动关闭连接的一方就会进入TIME_WAIT状态。 客户端主动关闭连接时,会发送最后一个ack后,然后会进入TIME_WAIT状态,再停留2个MSL时间(后有MSL的解释),进入CLOSED状态。 下图是以客户端主动关闭连接为例,说明这一过程的。
阅读全文
摘要:修改Time_Wait参数的方法 (在服务端修改)Windows下在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters,添加名为TcpTimedWaitDelay的DWORD键,设置为30,以缩短TIME_WAI
阅读全文
摘要:最近线上遇到windows机器访问其他机器的时候失败的情况。实际就是本地的端口不够用造成的。D:\>netsh interface ipv4 show dynamicportrange protocol=tcpProtocol tcp Dynamic Port Range Start Port :
阅读全文
摘要:问题描述:有一段时间,服务器启动了好多程序,做的是 obd监听服务,连接好多个服务器,由于程序的本身的问题造成大量的wait-time,一番百度后找到找到方案1 设置一由于wait-time 需要经过2MSL 之后才会释放,所以可以通过设置这个时间来解决,方法如下 修改Time_Wait参数的方法
阅读全文
摘要:总结: 最合适的解决方案是增加更多的四元组数目,比如,服务器监听端口,或服务器IP,让服务器能容纳足够多的TIME-WAIT状态连接。在我们常见的互联网架构中(NGINX反代跟NGINX,NGINX跟FPM,FPM跟redis、mysql、memcache等),减少TIME-WAIT状态的TCP连接
阅读全文
摘要:【背景说明】 在7层负载均衡上,查询网络状态发现timewait太多,于是开始准备优化事宜 整体的拓扑结构,前面是lvs做dr模式的4层负载均衡,后端使用(nginx、or haproxy)做7层负载均衡 【优化效果】 修改前,建立连接的有29个,timewait的就达到了900个,如下图所示 修改
阅读全文
摘要:TIMEWAIT状态本身和应用层的客户端或者服务器是没有关系的。仅仅是主动关闭的一方,在使用FIN|ACK|FIN|ACK四分组正常关闭TCP连接的时候会出现这个TIMEWAIT。服务器在处理客户端请求的时候,如果你的程序设计为服务器主动关闭,那么你才有可能需要关注这个TIMEWAIT状态过多的问题
阅读全文
摘要:有没有这样的情况,无法静态的通过启动和退出来查找内存泄露,比如网络游戏,你总不能直接关游戏那玩家怎么办? 现在vld支持release,我们可以动态的找。 1.在release版本使用vld了。<PS1> #define VLD_FORCE_ENABLE #include <vld.h> 2.支持g
阅读全文
摘要:前提 同Debug版本在VC中配置好VLD的相关信息,拷贝 Visual Leak Detector\bin\Win32目录下所有的文件和vld.ini到工程目标路径下。 强制检测 在程序入口处的cpp中,定义强制检测宏和包含vld头文件 #define VLD_FORCE_ENABLE #incl
阅读全文
摘要:架构以及我理解中架构的本质 在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天
阅读全文
摘要:1)“File -> New -> Project”,选择“Empty Project”并创建。 2)选中 Project,右键,选择“Add files”,将 c/c++ 和 head files 加入工程。 3)选中 Project,右键,选择“Properties”,“Project sett
阅读全文
摘要:http://blog.csdn.net/sinat_34194127/article/details/50816045 [root@localhost ~]# yum install git unzip patch gcc gcc-c++ make[root@localhost ~]# git c
阅读全文
摘要:在CentOS 6.5环境中安装依赖软件包,使用git下载最新版本st-load源码包 执行配置和编译 查看生成的文件和目录 模拟RTMP用户 模拟HLS直播用户 模拟HSL点播用户 模拟RTMP推流用户 模拟RTMP多路推流用户 支持RTMP流播放测试,一个进程支持5k并发支持RTMP流推流测试,
阅读全文
摘要:这个负载测试工具是网游分享的工具,可以在http://blog.csdn.net/win_lin/article/details/11835011 或者https://github.com/winlinvip/st-load 找到非常详细的介绍,包括如何安装,如何使用。 服务器负载测试工具(st-l
阅读全文
摘要:1)‘_wcsicmp’在此作用域中尚未声明#ifdef WIN32#define _tcsicmp _wcsicmp#else#define _tcsicmp wcscasecmp#endif2)_stricmp 在此作用域中尚未声明#include <string.h>将_stricmp改成st
阅读全文
摘要:转载地址:http://www.10tiao.com/html/473/201606/2651473094/1.html 程序的CPU问题是另外一类典型的程序性能问题,很多开发人员都受到过程序CPU占用过高的困扰。本次我们收集了14个CPU类的问题,和大家一起分析下这些问题的种类和原因。另外,对于C
阅读全文
摘要:__stdcall被这个关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall 的前面部分由ecx,edx传), 函数调用在返回前要由被调用者清理堆栈。这个关键字主要见于Microsoft Visual C、C++。GNU的C、C++是另外一种修饰方式:__attribute__(
阅读全文
摘要:今天面试,做了两道面试题,有道题,也是非常的有趣,下面简单的说说,原题是:"有哪些方法可以实现单实例的应用程序?选择一种方法阐述它到底实现原理,流程及优缺点? 然后他们给的答案是:信号量,共享内存,命名管道,绑定端口等。 我顿时感觉整个人都不好了,首先想到的是微软操作系统的单实例的应用程序,再转到c
阅读全文
摘要:什么是共享内存 共享内存是最快速的进程间通信机制。操作系统在几个进程的地址空间上映射一段内存,然后这几个进程可以在不需要调用操作系统函数的情况下在那段内存上进行读/写操作。但是,在进程读写共享内存时,我们需要一些同步机制。 考虑一下服务端进程使用网络机制在同一台机器上发送一个HTML文件至客户端将会
阅读全文
摘要:场景 Windows进程单实例运行,如果有进程没有退出,继续等待,直到进程完全退出,才会进入下一个实例 HANDLE pHandle = NULL; do { pHandle = ::CreateMutex(NULL, FALSE, "Global\\fengyuzaitu.blog.51cto.c
阅读全文
摘要:概述 Boost.Process提供了一个灵活的C++ 进程管理框架。它允许C++ developer可以像Java和.Net程序developer那样管理进程。它还提供了管理当前执行进程上下文、创建子进程、用C++ 流和异步I/O进行通信的能力。该库以完全透明的方式将所有进程管理的抽象细节呈现给使
阅读全文
摘要:本文介绍三种“实现单实例应用程序”的方法,保障每次只能运行一个该类型的应用程序。 一、共享内存 在main函数中添加如下代码: // 使用共享内存的方式来保证只运行一个实例 QString strKey = "MyApplication"; QSharedMemory sharedMemory; s
阅读全文
摘要:一介绍 通过编写一个QSingleApplication类,来实现Qt程序的单例化,原文的作者是在Windows Vista + Qt4.4 下实现的,不过应用在其他平台上是没问题的。(本文是我在http://www.qtcentre.org/wiki/index.php?title=SingleA
阅读全文
摘要:在实际应用中,我们经常需要让应用程序只有一个实例,再打开新的文档或者页面时,只是替换现在的窗口或者新打开一个标签,而不是重新启动一次应用程序。Qt中是否可以做到这样呢,答案是肯定的,因为Qt本身可以直接调用系统API,肯定可以做到,但是我们希望找到一个跨平台的通用的解决方案。 这就要用到Qt的QLo
阅读全文
摘要:开发一个应用程序不可避免要使用多个第三方库(library).默认情况下,gcc采用动态连接的方式连接第三方库,比如指定-lpng,连接程序就会去找libpng.so。 gcc提供了一个-static参数,可以改变gcc默认的连接方式,GNU官网上关于gcc连接选项的手册《3.14 Options
阅读全文
摘要:场景是这样的。我在写一个Nginx模块,该模块使用了MySQL的C客户端接口库libmysqlclient,当然mysqlclient还引用了其他的库,比如libm, libz, libcrypto等等。对于使用mysqlclient的代码来说,需要关心的只是mysqlclient引用到的动态库。大
阅读全文
摘要:将 liblog4cpp.a 链接进一个 so, 编译时出现 : liblog4cpp.a(RollingFileAppender.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a sh
阅读全文
摘要:./configure CFLAGS=" -g " ./configure CFLAGS=" -g " 当然,c++代码就把 CFALGS 改成 CPPFLAGS
阅读全文
摘要:1.库的分类 根据链接时期的不同,库又有静态库和动态库之分。 静态库是在链接阶段被链接的(好像是废话,但事实就是这样),所以生成的可执行文件就不受库的影响了,即使库被删除了,程序依然可以成功运行。 有别于静态库,动态库的链接是在程序执行的时候被链接的。所以,即使程序编译完,库仍须保留在系统上,以供程
阅读全文
摘要:安装好VMwareWorkstations之后,进行虚拟机网络配置时有四种网络连接方式,桥接、仅主机、NAT、LAN区段。 之所以有不同的模式,在我看来是为了满足不同的网络需求,总的来说:桥接、NAT能够满足虚拟机连接外网的需求,而仅主机模式则不能连接外网,但是能实现与物理机之间的通信。 安装好VM
阅读全文
摘要:首先安装了VMware,在其中安装了Ubuntu系统,正常启动之后开始考虑怎么才能够让主机和虚拟机实现网络互连并且由主机向虚拟机发送文件,通过在网上查阅相关资料,记录学习笔记如下。 学习参考资料: linux虚拟机中和主机三种网络连接方式的区别 http://blog.csdn.net/xh1631
阅读全文
摘要:安装插件 http://developer.berlios.de/projects/cbmakegen/ 然后会在project菜单下面有一个Generate Makefile的选项 点击就行了 如果是在windows下面,会生成一个makefile.gen文件
阅读全文
摘要:1、yum -y install epel-release 2、yum clean all && yum makecache 3、yum -y install gtk2-devel cscope binutils-devel wxGTK xterm squirrel-libs tinyxml cpp
阅读全文
摘要:首先到官网下载cbmakegen 官网地址:http://developer.berlios.de/projects/cbmakegen/ 也可通过我的百度网盘下载 【windows版本】地址:https://pan.baidu.com/share/link?shareid=123030&uk=12
阅读全文