- 博客(26)
- 资源 (1)
- 收藏
- 关注
原创 Mangos0世界帧同步计算辨析
如果上次耗时总和小于(World_Sleep_Const+prevSleepTime),那么小于多少,就睡眠多少,并修改prevSleepTime为小于的数值;否则立刻进入下一轮轮询,并修改prevSleepTime为0。update的耗时不可能稳定在一个值,表现为时大时小。耗时多,不必睡眠,应该立进入下一次轮询,多余的耗时应该在以后的睡眠时间里扣掉。这样才能在总体上保证每秒20次计算。
2016-05-26 18:10:30 1085
转载 MySQL索引背后的数据结构及算法原理
From http://blog.codinglabs.org/articles/theory-of-mysql-index.html摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免
2016-05-09 16:39:11 440
原创 游戏服务器的数据保存
从事游戏开发也有年头了,许多积累下来的知识和经验并没有做很好的梳理。之前虽然也零零散散写过一点关于挂机和调试的短文,这次写点关于数据同步的东西。游戏是个低延时,高并发应用。一般为了提供给用户足够好的体验都会把数据库单独放置一台机器,为的是让游戏进程和数据库进程都能得到充足的资源,都能提供优秀的服务。这也产生了一个问题,如何保证数据库的数据和游戏进程中用户本身没有差别。实际上这个问题一直
2016-04-22 14:38:07 13161 1
转载 测试常用公式
系统用户数,即注册用户数,苛刻一点可以为某一周期活跃用户数.同时在线用户数,某一时间段内在线用户会话数总和.并发用户数,粗略说等同于同时在线用户数,引申为核心事务功能或最常用事务功能在瞬间的最大完成会话数量.服务器实际承受的压力不只取决于业务并发用户数,还取决于用户的业务场景(用户对系统的使用是否集中在少数几个事务功能上)。 在实际的性能测试工作中,测试人员一般比较关心的是业务
2016-02-05 18:01:16 1353
原创 听来的故事
昨天去一个朋友那里,听来一个故事.让我给我们的主人公起个名字,叫他程序员吧.这一天,程序员陪一位朋友出去吃晚饭.电梯里遇到了boss的家属.问:该回去了吧?答:不,先吃个饭,一会还得回来继续干.对曰:你们项目又挣不了钱,还加什么班啊?无比尴尬.................羞愤难当.........................情何以堪.................
2014-08-18 15:30:02 696
翻译 OpenGL中坐标体系
There are multiplecoordinate systems involved in 3D Graphics. In this article i will try toexplain how they interact with each other and what’s their purpose in afriendly and easy way.在3D图形编程中有多个坐标系
2014-08-15 08:57:58 1180
原创 apt命令使用
apt-cache search package 搜索包apt-cache show package 获取包的相关信息,如说明、大小、版本等sudo apt-get install package 安装包sudo apt-get install package - - reinstall 重新安装包sudo apt-get -f install 强制安装?#"-f = --fix-miss
2014-08-03 08:04:28 892
原创 开服涌入的问题
之前我们向运营要求更多的导入,运营说每每开服导入流量,我们的留存并不高,拒绝更多流量导入。刚刚完成的压力测试,我发现大量用户在集中时间内涌入服务器,创角进入游戏占用了90%的cpu时间,服务器基本没有cpu资源响应其他。这是个很严重的问题,第一次的体验决定了这个玩家的感受,决定了游戏的留存。阅读代码,创角和进入游戏的代码含有不少的同步数据库操作。怎么破?
2014-04-15 16:34:00 955
原创 告别合服的苦恼
当我还没有游戏开发运营经验时,我领着一班和我一样无甚经验的兄弟们写下最初的游戏程序代码。出来混,总是要还的。当合服近在眼前时,我发现时间全部花费在了开发和debug上,对合服没有任何思想准备,更谈不上什么工具。让我感到麻烦的是我们的数据库和游戏世界一样是独立的,一服一世界,一服一DB。代表玩家的数据在每个数据库里都是从0依次增长的。这就意味着多组服务器合并,就要把多个数据库里的数据也合并在一起
2014-03-12 15:50:31 1362
原创 SVN的多版本开发
branch是功能分支,用来使代码应对不同的需求。tag是里程碑分支,用来稳定一个相对完整和稳定的版本。如果要开发一个面向东南亚的产品。典型的做法是从一个功能和特性合适的tag 创建一个branch,东南亚组的开发同学在这个branch上开发。新的功能和特性一般不合并。如果产品刚刚发布,马上进入了新的开发周期。应该从主干上创建一个分支用作新功能和特性的开发,在新的分支功能特性通
2014-03-09 23:01:54 1327
原创 Mysql 创建用户和编辑权限
创建用户mysql> CREATE USER usr1 IDENTIFIED BY 'pword';mysql> CREATE USER usr2@localhost IDENTIFIED BY 'pword';查看用户创建情况mysql> select user,host from mysql.user where user like 'usr%';+------
2014-01-11 21:50:55 756
原创 解决不能写文件
今日Ubuntu再次变为只读文件系统,不能写入数据。第一步使用mount 命令查看只读文件系统在哪个分区[root@localhost ~]# mount/dev/sda3 on / type ext3 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type
2013-11-15 15:54:12 1041
原创 为性能
出来混迟早要还的!现代的计算机配置似乎达到了良好运行一切的程度,或者说良好运行大多数。我们期盼的是高速cpu和大内存和io极快的硬盘能解放使用者,使用者不再需要恶补计算机和软件的知识硬着头皮冒充计算机专家调整自己机器这样那样的参数;能解放程序员,程序员能专心于开发消费者真正需要的功能和良好的使用体验,而不是而不是为了运行的快一些,内存使用何为性能问题在性能测试中存在两个概念:(
2013-10-17 11:21:17 603
原创 Java进程Id
String pid = ManagementFactory.getRuntimeMXBean().getName();pid is 6987@xx-pc
2013-10-12 10:08:29 667
原创 Cron的使用
Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart //重启服务/sbin/service crond reload //重新载入配置也可以将这个服务在
2013-10-10 18:58:23 817
原创 苍白和无赖的android应用
作为一个使用两天的安卓新进用户,对系统和app表示不满和失望。入手的是华为的U9508,华为隐藏了许多安卓系统功能和谷歌发布的应用。可以表示理解,毕竟是我自己发布的系统,怎么着也要做一些有利自己做平台做垄断的事情。但是华为极度要让恶心的是,你把这些谷歌的应用删除了啊,毕竟你给出了替代品,让那些用户看不到用不了的应用白白占用着存储空间使用着cpu使用着电池和每个月要算计使用的有限流量。预装那
2013-08-11 00:11:09 859
原创 用户和组的管理
$ ls /boot/ -ltotal 18492drwxr-xr-x 3 root root 12288 Aug 21 03:27 grub-rw-r--r-- 1 root root 12487150 Aug 29 18:24 initramfs-linux-fallback.img-rw-r--r-- 1 root root 2990626 Aug 29 18:23 ini
2013-08-04 21:50:08 849
原创 配置Ubuntu的IP
1.设置IP,终端输入 sudo gedit /etc/network/interfaces假设实用的是网卡0,如果是其它网卡就将eth0改为对应的值。auto loiface lo inet loopback#使用网卡0auto eth0#使用静态IPiface eth0 inet static #设置IPaddress 172.32.1.11#设置子网掩码,不要弄错了,可
2013-07-31 12:56:27 646
原创 the propfind response did not include the requested properties
从仓库检出代码客户端提示如下错误:the propfind response did not include the requested properties。这意味着,客户端的协议版本高于服务器的版本,server的协议没有client要求的属性。
2013-07-30 10:29:59 5370
原创 Skip list----跳表
Skip list(跳表)是一种可以代替平衡树的数据结构,默认是按照Key值升序的。Skip list让已排序的数据分布在多层链表中,以0-1随机数决定一个数据的向上攀升与否,通过“空间来换取时间”的一个算法,在每个节点中增加了向前的指针,在插入、删除、查找时可以忽略一些不可能涉及到的结点,从而提高了效率。从概率上保持数据结构的平衡比显示的保持数据结构平衡要简单的多。对于大多数应用,用Skip
2013-07-27 15:41:14 780
原创 Alter Table 修改表和修改字段和索引
ALTER TABLE name1RENAME name2;ALTER TABLE table1 MODIFY field1 TINYINT NOT NULL;ALTER TABLE table1 CHANGE field1 field2 CHAR(20);ALTER TABLE table1 ADD field2 TIMESTAMP;ALTER TABLE table1 ADD
2013-07-23 19:27:54 4453
原创 vim的文本替换
vim是编辑文本的,文本是分行的,所以替换也是逐行进行的。进入:进入如命令模式。:{行的范围}{查找表达式}{最终的文本}{每一行的替换的次数}:%每一行 :当前行 :m,n 第m行到第n行$表示最后一行s/abc 开始搜索abc模式文本/cba/ 最终要替换成cba文本没有最后一项表示只替换
2013-07-11 15:51:03 1034
原创 记录:使用外网IP访问内部服务
为保证局域网的安全,路由器会阻断从因特网主动发起的连接请求。因此,如果您想让因特网用户能够访问局域网内的服务器(比如:Web服务器、Email服务器、FTP服务器等),需要设置虚拟服务器。虚拟服务器也可称为端口映射,它可以将WAN口IP地址、外部端口号和局域网内服务器IP地址、内部端口号建立映射关系,使所有对该WAN口某服务端口的访问重定向到指定的局域网内服务器的相应端口。
2013-07-09 12:38:40 1370
原创 URL含有中文访问不到文件
俢改tomcat的server.xml文件 port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="
2013-07-09 12:33:25 2158
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人