自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 Nginx内存池实现源码分析

概述 nginx内存分配将内存需求分成了两种:(1)大块内存(2)小内存。内存大小的判定依据是申请的内存是否比同页大小与pool的size两者都小。 对于大块内存,单独利用malloc来申请,并且使用单向链表管理起来 对于小块内存,则从已有的pool数据区中划分出一部分出来,这里的内存划分出去后没有特殊的结构来保存,而是等到申请对象生命周期结束后一起释放。小块内存的存储方式非常类似于sk_

2013-11-28 17:33:54 1217

转载 IOCP模型与网络编程

一。前言:         在老师分配任务(“尝试利用IOCP模型写出服务端和客户端的代码”)给我时,脑子一片空白,并不知道什么是IOCP模型,会不会是像软件设计模式里面的工厂模式,装饰模式之类的那些呢?嘿嘿,不过好像是一个挺好玩的东西,挺好奇是什么东西来的,又是一个新知识啦~于是,开始去寻找一大堆的资料,为这个了解做准备,只是呢,有时还是想去找一本书去系统地学习一下,毕竟网络的资料还是有点零散

2013-11-28 17:31:16 2262

转载 IOCP工作原理

我已经有两次面试被问到iocp的工作原理了(操作系统的工作原理,不是函数的工作原理),所以觉得很有必要把这个写下来。网上找了半天,写的都是一些函数的实现原理,没提到重点,最近一次面试中技术官告诉我《windows高级编程指南》这本书有提到过,我回来查看了一下,在614页的确有比较详细的讲解,有点不太明白,先把原文引出来吧: 总结:完成端口的目标是使在释放线程(运行中的线程)列表中的线程数

2013-11-28 17:30:11 1198

转载 基于多线程的大容量MMORPG主逻辑服务器实现策略

转载请标明出处:http://blog.csdn.net/herm_lib/article/details/9079309   实际参与的商业项目而且已运营的服务器,逻辑这块都是一个独立的单线程的,网络跑在其他线程中。像接入服务器,由于他自身的特点,可以尽量利用CPU,做到大负载接入。大部分商业服务器,包括网游服务器,瓶颈还是在于逻辑而非网络,所以接入服务器这块也没有必要的优化。 以前总结过

2013-11-28 17:28:38 956

转载 MySQL慢查询分析mysqldumpslow

MySQL慢查询分析mysqldumpslow 发布时间:September 24, 2009 分类:MySQL 《MyISAM和InnoDB的一些记录》 《MySQL Show命令的使用》 一直以来积累了很多对MySQL优化的心得和经验,计划通过写日志的方式一步一步写出来分享给大家。 MySQL优化的第一步应该做的就是排查问题,找出瓶颈,而通常情况下的瓶颈和问题都需要通

2013-11-28 17:26:54 949

转载 通用高性能 Windows Socket 组件 HP-Socket

http://www.oschina.net/p/hp-socket

2013-11-28 17:25:16 911

转载 table_open_cache太大引发的问题

一直以来,有个产品,经常性的连接不上,后通过lsof 发现有很多连接符,到数据库中查看 mysql>show global status like '%open%file%'; +---------------+--------+ | Variable_name | Value  | +---------------+--------+ | Open_files    | 1276  

2013-11-28 17:17:31 5201

转载 MySQL 性能优化的最佳20多条经验分享

原始地址:http://www.jb51.net/article/24392.htm 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。 - 当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化

2013-11-28 17:16:00 650

转载 MySql查询缓存机制

本文转自:http://flatfish2000.iteye.com/blog/506525 缓存机制简单的说就是缓存sql文本及查询结果,如果运行相同的sql,服务器直接从缓存中取到结果,而不需要再去解析和执行sql。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改指的是表中任何数据或是结构的改变,包括INSERT、UPDATE、DELETE、TRUNCA

2013-11-28 17:08:32 822

原创 InitializeCriticalSectionAndSpinCount

这个api名字够长,我喜欢! 实际上对 CRITICAL_SECTION 的操作非常轻量,为什么还要加上旋转锁的动作呢?其实这个函数在单cpu的电脑上是不起作用的,只有当电脑上存在不止一个cpu,或者一个cpu但多核的时候,才管用。 如果临界区用来保护的操作耗时非常短暂,比如就是保护一个reference counter,或者某一个flag,那么几个时钟周期以后就会离开临界区。可是当这个threa

2013-11-28 16:57:19 652

转载 游戏服务器结构探讨

原文地址: http://blogold.chinaunix.net/u/1129/showart_397768.html http://bbs.gameres.com/showthread.asp?threadid=93775   有关游戏开发:游戏开发始终是个小项目,另外由于开发时间的限制,软件工程的思想和方法在游戏开发领域并不怎么受欢迎。从游戏开发团队的规模也能看出,基本上只能算小开

2013-11-28 16:56:33 1212

转载 游戏服务器框架

http://blog.csdn.net/herm_lib/article/category/785367/1

2013-11-28 16:55:22 1008

转载 意见征集 游戏服务器实践之路

原创地址:http://blog.csdn.net/xnn2s/article/details/8362603 大家好。 我是一个热爱技术的人,从事商业的服务器开发9年多,参与和负责了几款不同类型的游戏开发,包括SNS、ACG和RPG;也负责过IM的开发。运气比较好,属于实战型的程序员。我想写一个游戏服务器的序列文章,主要是自己实践的总结。发帖目的是想大家给点意见,怎么写,对须要经验分享的人有

2013-11-28 16:54:04 875

转载 TCP传输连接有限状态机转换机制

从表10-6中可以看出,TCP Socket服务原语只有8个,比OSI/RM中定义的传输层服务原语还要少,但是在这8种TCP Socket服务原语中,有的原语又可以有不同的状态,如表10-8所示。我们把在TCP传输连接的建立和释放中的通信双方主机的这些状态称之为“有限状态机”(Finite State Machine,FSM)。下面我们来具体阐述一下在TCP传输连接建立、释放过程中这些原语状态的变

2013-11-28 16:49:50 876

原创 通过WinInet上传文件

// test.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include #include #define BUFFSIZE 500 BOOL UseHttpSendReqEx(TCHAR *upFile) { HINTERNET hSession=NULL, hC

2013-11-28 16:46:42 1890

转载 套接字I/O模型-完成端口IOCP

“完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候,而且希望随着系统内安装的CPU数量的增多,应用程序的性能也可以线性提升,才应考虑采用“完成端

2013-11-28 16:44:33 1081

转载 理解MySQL——索引与优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),

2013-11-28 16:42:32 793

转载 MySQL索引背后的数据结构及算法原理

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。 文章主要内容分为三个部分。 第一部分主

2013-11-28 16:40:52 670

转载 using_where, Using temporary ,using_filesort 分享

Using filsort文档中的解释: Mysql需要额外的一次传递,以找出如何按排序顺序检索行,通过根据联接类型浏览所有行并为所有匹配where子句的行保存排序关键字和行的指针来完成排序,然后关键字被排序,并按排序顺序检索行。额外的传递是指什么? Mysql> show create table test_filesort\G; *************************** 1

2013-11-28 16:38:12 2243

转载 using where和 using filesort

MySQL 数据库,MyISAM 类型的表 table_item,有 5、6 个字段,主键是 id。 user_id 和 item_id 两个字段都是单独的 INDEX 类型的索引。 问题是如何发现的? 今天搞程序,在自己的开发环境下,打开一个简单的页面都要好长时间,不知道问题出在哪里,只发现硬盘灯闪个不停。 观察 Windows 的任务管理器,看到 mysqld-nt.exe 这个进程的

2013-11-28 16:36:50 2743

空空如也

空空如也

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

TA关注的人

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