自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

曾记花开不记年

erlang go php linux 游戏构架

  • 博客(21)
  • 资源 (1)
  • 收藏
  • 关注

原创 erlang 随机数

> F = fun() -> io:format("~p~n", [[random:uniform(10) || _ <- lists:seq(1, 10)]]) end. > spawn(F). [1,5,8,10,6,4,6,10,7,5] > spawn(F). [1,5,8,10,6,4,6,10,7,5] > G = fun() -> {A1,A2,A3} =

2016-05-31 16:19:27 963

原创 客户端 服务端 时间校正

tc1:客户端发送时间戳tc2:客户端接受时间戳ts1:服务端接收时间戳ts2:服务端发送时间戳原理:tc + diff = ts公式:tc1+ diff  = ts1 -  delaydelay = (tc2 - tc1)/2 - (ts2 - ts1)

2016-05-31 09:35:13 1009

原创 primary key与unique的区别

UNIQUED 可空,可以在一个表里的一个或多个字段定义;PRIMARY KEY 不可空不可重复,在一个表里可以定义联合主键;简单的说,primary key = unique +  not null unique 就是唯一,当你需要限定你的某个表字段每个值都唯一,没有重复值时使用。比如说,如果你有一个person 表,并且表中有个身份证的column,那么你就可以指定该字段为un

2016-05-27 09:24:26 1345

转载 mysql innodb 优化

init_connect='SET autocommit=0'    //关闭自动提交,这个对于innodb来说,很重要   innodb-file-per-table=1            //使用独立表空间   innodb-open-file=500               //打开最大文件数据是500,默认是300   innodb_log_file_size=512M      

2016-05-26 14:10:24 227

原创 erlang dets ets 压测

磁盘:7200转 机械硬盘  内存:1333 MHz  CPU: i5-2310 CPU @ 2.90GHz(3201 MHz)  dets 写入100万条数据 54.18(27)秒 ,平均每条 0.000054 秒 ≈ 54微秒, QPS 1.8万 磁盘占用127 389 134 字节 127M  ets 写入100万条数据 1.42(1.2)秒 ,平均每条  0.000

2016-05-19 16:54:10 617

转载 erlang 优化

霸爷指出,新的erlang虚拟机有很多调优启动参数,今后现在这个方面深挖一下。1. 进程标志设置:       消息和binary内存:erlang:process_flag(min_bin_vheap_size, 1024*1024),减少大量消息到达或处理过程中产生大量binary时的gc次数       堆内存:erlang:process_flag(min_heap

2016-05-19 11:17:15 875

转载 erlang消息广播要注意什么问题?

1、reduction计数  通常会启动一个消息管理进程,这个进程就负责把广播消息转发给对应的所有玩家进程。启用管理进程的一个好处是,进程发消息会扣除reduction,而且这个reduction扣除大小还受到接收者进程影响。假如直接在地图进程做消息广播,就会导致地图进程受到的调度极度减少,影响战斗计算。  2、消息复制  erlang消息发送基于复制,但对于比较大的二进制

2016-05-17 17:22:53 469

转载 进程字典与ets

进程字典是erlang游戏开发中最为常用的数据记录方式,理由很简单,因为它够快,差不多比ets快了一个数量级。但是,进程字典的数据为所在进程私有,无法跨进程直接get到进程字典的数据,而且,在进程被销毁时,进程字典的数据也会被回收。  再说下ets,对比进程字典,ets的适用场景是跨进程读写数据。遇到一个数据频繁被多个进程读到,就要考虑使用ets了。另外,ets有归属进程,但归属进程销毁时

2016-05-17 17:21:08 1587

原创 erlang 常用数据结构

ordsets 是lists实现的有序集合.由于数据元素的变动都会触发重新排序,所以ordsets效率不高,只适用于数据量比较小的场景.ordsets中包含了常见的集合操作:求交集,并集,是否为子集,是否存在交集

2016-05-13 17:34:13 2098

转载 浅谈tcp_nodelay的作用

TCP_NODELAY和TCP_CORK基本上控制了包的“Nagle化”,这里我们主要讲TCP_NODELAY.Nagle化在这里的含义是采用Nagle算法把较小的包组装为更大的帧。JohnNagle是Nagle算法的发明人,后者就是用他的名字来命名的,他在1984年首次用这种方法来尝试解决福特汽车公司的网络拥塞问题(欲了解详情请参看IETF RFC 896)。他解决的问题就是所谓的silly

2016-05-13 09:58:41 712

转载 通用的erlang优化设置

设置是我在多个项目中通用的,不过根据应用场景的不同,还会有其它细调,就不在这一一说明了。  - Sunface 一、 erl启动时参数:+K true开启epoll调度,在linux中开启epoll,会大大增加调度的效率+A 100        异步线程池,为某些port调用服务+P 1024000最大进程数+Q 655

2016-05-13 09:56:35 1629

原创 linux socket 编程 端口复用

在A机上进行客户端网络编程,加入它所使用的本地端口号是1234,如果没有开启端口复用的话,它用本地端口1234去连接B机再用本地端口连接C机时就不可以,若开启端口复用的话在用本地端口1234访问B机的情况下还可以用本地端口1234访问C机。若本地编程bind的本地端口号时0表示由系统分配端口,并开启端口复用的话表示系统分配的该端口号开启了复用。    若是服务器程序中监听的端口,即使开启了复用

2016-05-13 09:30:44 714

原创 大端小端

1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端:为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了

2016-05-09 22:04:55 3386

转载 DDL、DML和DCL的理解

1、DDL      1-1、DDL的概述               DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上。特别注意:DDL操作的“对象”的概念,”对象“包括对象及对象的属性,而且对象最小也

2016-05-09 11:56:04 404

原创 linux ctrl + s 假死

ctrl + q 即可解决

2016-05-06 16:45:30 309

原创 黑盒测试和白盒测试

黑盒测试把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,针对“软件界面”和”软件功能“进行测试,只检查功能是否符合需求规格说明书能正常使用。因此黑盒测试又叫功能测试或数据驱动测试。白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个打开的盒子,他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在

2016-05-06 15:44:50 519

原创 排序算法

排序分类     平均时间       时间复杂度       辅助存储空间简单排序     O(n2)           O(n2)            O(1)快速排序     O(nlog2n)       O(nlog2n)         O(nlog2n)堆排序       O(nlog2n)       O(nlog2n)         O(1)归并排序    

2016-05-06 13:48:57 220

原创 查找算法

1.       顺序查找a)         算法简单,适应面广,稳定算法b)        平均查找长度比较大,当n比较大时,查找效率会很低,时间复杂度为O(n)2.       折半查找法a)         针对有序的序列表,不稳定算法b)        查找速度快,时间复杂度是O(log2n)3         分块查找a)         也是针对有序表,不

2016-05-06 13:48:35 246

转载 erlang 优化

1. 进程标志设置:       消息和binary内存:erlang:process_flag(min_bin_vheap_size, 1024*1024),减少大量消息到达或处理过程中产生大量binary时的gc次数       堆内存:erlang:process_flag(min_heap_size, 1024*1024),减少处理过程中产生大量term,尤其是list时的

2016-05-06 13:40:08 284

原创 [算法]负载均衡

1.随机 把负载随机分配到可用的服务器上2.顺序 按顺序把负载平均分配3.加权 对顺序的优化 比如某台服务器处理能力很强 那么可以让它处理更多的负载4.动态 实时 或者 定时监控服务器状态,动态的把负载放在压力最小的服务器上

2016-05-04 10:04:06 195

原创 阿莫西林 阿司匹林 盘尼西林 分不清楚?

盘尼西林,也就是现在常说的青霉素,和阿莫西林一样都是抗菌消炎的抗生素,而阿司匹林是预防心脑血管疾病的特效药。

2016-05-04 09:47:08 2637

Erlang游戏.zip

Erlang游戏案例, 1.1-1.8Erlang游戏.zip 1.1-1.8Erlang游戏.zip1.1-1.8Erlang游戏.zip

2018-02-02

空空如也

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

TA关注的人

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