自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (17)
  • 收藏
  • 关注

原创 【高效server实践】--旁路监控系统

写完server程序运行起来后,并非就高枕无忧了,还需要旁路的监控系统时刻关注程序的健康程度,并做相应的自动化干预。一个完善的server监控系统应该涵盖以下方面1:程序down掉,自动拉起在linux环境下,只要简单的shell脚本即可做到:使用grep查看程序是否down掉2:进程僵死判断判断进程是否僵死有多种方法:业务拨测,心跳上传,log文件是否滚动(适

2016-02-16 17:42:14 1609

原创 【高效server实践】--协议先行

网络协议是为计算机程序之间进行数据交互的规则和标准,在正式写server之前应该先定好协议,方便C/S两端同时开发良。好的协议应该体量小,封包解包快,良好的扩展性,不可直接读,跨语言,跨平台。目前流行的几种网络协议对比如下:1:json是应用较为普遍的协议,它支持键值,数组,嵌套,满足各种数据传输需求。有良好的可读性(有些程序数据的私密性可能不希望有可读性),:跨平台跨语言。但是json的

2016-02-01 11:33:47 545

原创 【高效server实践】--memcached网络框架剥离实践

memcached通过epoll(使用libevent)实现异步服务,主要由"主线程"和多个"worker线程"构成,主线程负责监听网络链接,并且accept连接。当监听到连接accept成功后,把连接句柄FD传给其中的一个空闲work线程处理。空闲的worker线程接收到主线程传过来的连接句柄DF后,将其加入自己的epoll监听队列并处理该连接的读写事件。   博主从memcahced剥

2016-01-20 17:12:18 465

原创 【高效server实践】--日志模块

log日志模块是软件程序的另一基础部分,开发者依赖于它进行debug,了解程序运行状态,分析程序性能等,是程序对开发都打开的一扇窗户一个健壮的log模块,应该具体以下功能1:log可分级输出log一般有五层分级即可:debug,info,warn,error,tracedebug是用于开发者调试输出的记录,通过此开发者可以快速定位问题info是记录程序输入,输出和一些关键业务或

2016-01-20 14:11:30 379

原创 【高效server实践】--配置文件

配置文件是一个软件程序的基础部分,是用户可以改变的程序运行的方法。配置文件一般是在程序启动的时候读取,并初始化程序,当然写的好的配置模块也支持在程序运行时重新加载配置文件,并做相关的变化。 良好的配置模块应该具体以下功能 1:配置文件可以按块配置,这样就允许不同的块里有相关的配置(程序可能依赖很多外部组件,而外部组件一般都要配置ip) 如: [MONGO] db=test1 

2015-11-04 18:00:36 388

原创 【高效server实践】--redis性能分析

一:Redis自带了benchmark以便用户做性能分类Linux性能测试命令行如下(指定数据大小为1K,100用户并发,共发送10Ww个请求):./redis-benchmark -h 192.168.1.33 -p 6379  -d 1000 -c 100  -n 100000执行结果如下,可以看出写读操作响应在毫秒级,写操作qps在4W。读操作qps在3.4 根据服务

2016-03-29 15:11:29 2849

原创 【高效server实践】--memcached内存管理

Memecache内存管理是采取预分配的形式,避免优先避免频繁malloc和free带来的内存碎片。Memcache是驻欧洲断裂slab的形式来管理内存:每个slab页默认大小为1M,不同的slab里会1到n个分割成大小不同chunk内存块,chunk是实际存储数据的最小单元。存储数据的时候根据数据的大小选择从相应的slab分配空闲chunk来存储。       memcached -u ro

2016-03-14 14:05:02 452

原创 Linux下keepalived+Mysql主主同步实现数据库高可用实践

1):编辑mysql配置文件/etc/my.cnf,选定主主同步的数据库[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlsymbolic-links=0log-bin=binlogbinlog_format=mixedserver_id=1//主备两台mysql的serv

2016-03-01 16:17:06 4070

原创 基于c++实现的几种排序算法

插入排序是有一个已经有序的数据序列,在这个已经排好的数据数列中插入一个数,要求插入后此数据序列仍然有序。这种算法适用于少量数据的排序,时间复杂度为O(n^2)void insertsort(int a[],int len){    for(int i=1;i        int j=i-1;        int key=a[i];        while(j>=0 &&

2016-02-23 11:49:40 345

原创 基于c++的单链表,双向链表操作以及环

单向链表:生成,头插入,尾插入,某个元素后面插入,删除某元素#includeusing namespace std;struct Node{ int data; Node* next;};Node* create(){ Node *h=NULL,*p=NULL,*tmp=NULL; int a; scanf("%d",&a); while

2015-10-07 11:08:43 614

原创 Linux下socket优化

一:非阻塞socket1:阻塞socket和非阻塞socket区别读操作对于阻塞的socket,当socket的接收缓冲区中没有数据时,read调用会一直阻塞住,直到有数据到来才返回。当socket缓冲区中的数据量小于期望读取的数据量时,返回实际读取的字节数。当sockt的接收缓冲区中的数据大于期望读取的字节数时,读取期望读取的字节数,返回实际读取的长度。对于非阻塞socket,s

2015-09-30 16:18:52 596

原创 Mysql数据优化需知

一:事务隔离级别:   1:未提交读(脏读:)   2:提交读(推荐),重复读(幻读,mysql默认),串读(锁)2:数据库复制模式:语句复制(Mysql默认),行复制(数据库能正确恢复)SET GLOBAL BINLOG_FORMAT = ROW;SET SESSION BINLOG_FORMAT = ROW;3:myasim和innodb的区别:myas

2014-10-31 16:00:38 507

原创 网络收发包框架--easynetwork

网络收发包框架--easynetwork,使用net

2014-10-31 14:16:29 784

Java设计模式....

Java 设计模式 全面 详细,Java 设计模式 全面 详细

2011-05-04

集成了电子商城系统,新闻发布系统,新闻采集系统

集成了电子商城系统,新闻发布系统,新闻采集系统。集成了电子商城系统,新闻发布系统,新闻采集系统。集成了电子商城系统,新闻发布系统,新闻采集系统

2011-05-04

java 五子棋 画面精美 人机对弈

java 五子棋 画面精美 人机对弈 java 五子棋 画面精美 人机对弈

2011-04-10

org swt 引用库

swt 引用库swt 引用库swt 引用库swt 引用库

2011-04-10

android_反编译工具

android_反编译工具android_反编译工具android_反编译工具

2011-03-23

Photoshop 素材

Photoshop 素材 Photoshop 素材 Photoshop 素材

2011-03-23

servlet-api

servlet-api,servlet-api

2011-03-23

SVN服务器配置说明.docx

SVN服务器配置说明.docxSVN服务器配置说明.docx

2011-03-08

Myeclipse6.5汉化包

Myeclipse6.5汉化包.rarMyeclipse6.5汉化包.rar

2011-03-07

Web电子商城系统(配后台管理,论坛)

Web电子商城系统(配后台管理,论坛)Web电子商城系统(配后台管理,论坛)

2011-03-07

hibernate3.0引用库

hibernate3.0引用库hibernate3.0引用库

2011-03-07

Spring2引用库

Spring2引用库Spring2引用库

2011-03-07

struts2引用库

struts2引用库struts2引用库struts2引用库

2011-03-07

C/S架构做的聊天工具Chat4.0

C/S架构做的聊天工具Chat4.0,C/S架构做的聊天工具Chat4.0

2011-03-07

ssh2.+做的文件共享系统

ssh2.+做的文件共享系统,ssh2.+做的文件共享系统

2011-03-07

SQL+Server+2000的JDBC3个驱动包

SQL+Server+2000的JDBC3个驱动包.rar

2011-03-07

opencgv环境配置教程

opencgv环境配置教程,opencgv环境配置教程,opencgv环境配置教程

2011-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除