- 博客(45)
- 收藏
- 关注
原创 学习进制计算
测试# 现在以8位来说明# 如果是正数,那都是一样的1#源码 0 0 0 0 0 0 0 1#反码 0 0 0 0 0 0 0 1#补码 0 0 0 0 0 0 0 1# 如果是负数(负数最高位用来表示符合 0是正数,1是负数)-1#源码 1 0 0 0 0 0 0 1#反码 1 1 1 1 1 1 1 0#补码 1 1 1 1 1 1 1 1-7#源码 1 0 0 0 0 1 1 1#反码 1 1 1 1 1 0 0 0#补码 1 1 1 1 1 0 0 14
2021-06-21 20:49:28 174
原创 mysql语句
取出数据库中所有的表select table_name from information_schema.tables where table_schema='db_name';创建新的试图create or replace view `view_name` as select table_name,table_type frominformation_schema.tables where table_schema='db_name'删掉老视图DROP VIEW 'view_name'
2021-06-21 20:43:32 191
原创 Git相关命令
设置用户与邮箱git config --global user.name "chenkailun" #名称git config --global user.email 527303467.com #邮箱本地仓库搭建#在当前目录新建一个Git代码库git init克隆远程仓库git clone url查看文件状态git status [filename]#查看所有文件状态git status添加文件到缓存区git add .提交缓存区中的内容到本地仓库git commi
2021-06-21 20:41:29 156
原创 Docker-容器技术
docker的思想就是来源于集装箱隔离:docker的核心思想docker是基于go语言开发的,开源项目官网文档地址仓库地址docker安装先卸载老的docker yum remove docker \ docker-client \ docker-client-latest \ docker-common \ d
2021-06-21 20:39:03 122
原创 docker相关命令
帮助命令docker version #版本信息docker info #系统信息docker 命令 --hlep #万能命令帮助文档地址docker帮助文档搜索docker search eg:mysqldocker search --hlepdocker pull 镜像名[:tag]docker pull mysql #默认下载的是最新的如果不写tag默认下载最后一个latestdocker删除镜像docker rmi -f id/名字docker rmi
2021-06-21 20:30:51 99
原创 redis分布式
如何减少同步延迟扩大带宽。从主服务器到从服务器需要带宽,二带宽的大小决定了速度的大小,带宽越大,延时越小。走局域网。外网有很多不确定的因素,比如线路问题,网络波动问题。而在局域网是最快最安全的从程序上解决。任何数据同步都是通过程序完成的,每个程序都不一样。比如用C可以优化IO流,java优化内存占用等等加大服务器的配置。服务器有足够的IO,足够的内存,对同步时很重要的。减少从节点的数量。同步占用各种资源,减少从的数量,可以最快释放资源重新评估使用场景,是否需要读写分离。redis性能已经足够块
2021-06-21 20:25:28 144
原创 redis中的事务
原子性要么同时成功要么同时失败redis事务的本质一组命令的集合,一个事务的所有命令都会序列化,在事务的执行过程中,会按照顺序执行(一次性、顺序性、排他性)执行一系列的命令redis 单条命令是原子性的,但是事务不是原子性的redis 事务中没有隔离级别的概念监控 Watch悲观锁:很悲观,认为生命时候都会出问题,无论做什么都会加锁乐观锁很乐观,认为什么时候都不会出问题,所以不用上锁;更新数据的时候去判断一下,在此期间是否有人修改过这个数据获取version更新的时候
2021-06-21 20:21:27 94
原创 缓存穿透和雪崩
缓存穿透(查不到导致的)布隆过滤器缓存击穿(缓存刚好过期,这时候大量请求同时过来,秒杀)设置热点数据永不过期加互斥锁分布式锁:保证对于每个key同时只有一个线程去后台查询服务器缓存雪崩(某一时间段,缓存集中过期失效:断电、断网、、)停掉一些服务保证主服务...
2021-06-21 20:09:51 109
原创 平时笔记
查看staterp(sys:get_state(pid(0,101,0))).查看编码 vim 下 set fileencoding战场匹配,一定不要让跨服机先连战场,要让战场去连跨服机;因为跨服机先连战场回用掉一个端口,这样的话跨服机的端口就不够用了。observer:start(). 视图显示,erlang进程树...
2020-09-22 16:29:02 278
原创 跨服步骤
1,先启动中心机等待2,启动跨服机3,同步节点到中心机4,启动游戏机通知节点到中心机,中心机返回全服跨服节点,给游戏机5,游戏机给跨服节点添加权限,并通知所有节点
2020-07-08 11:15:52 863
原创 windows界面启动linux下的observer:start()
1.默认情况下Erlang的集群访问是全授权的,只要cookie认证过了后,新加入的节点可以访问集群里面的任何机器,这给运维带来很大风险。目前erlang有二种方法可以限制 1. IP网段限制 2. 节点名称限制。这个是通过net_kernel:allow来实现的,参看:cmd 开启允许链接的节点名werl -name node@192.168.XX.XX-setcookie YYYYY...
2019-11-26 15:12:49 422
原创 linux查看端口跟进程名
1、使用lsoflsof -i:端口号查看某个端口是否被占用lsof -i:80802、使用netstatnetstat -anp|grep 80803、netstat常用命令 查看当前所有tcp端口· netstat -ntlp查看所有8080端口使用情况netstat -ntulp |grep 8080查看所有8080端口使用情况netstat...
2019-08-15 17:39:01 550
原创 游戏合服
eg:合并1服跟2服(把2服的数据合到1服)1,列出需要合并的表2,先清小号(防止无用数据过多)3,导出1服中需要合并的表(用作备份,出错时可以还原) mysqldump -u(数据库用户)-p'(数据库密码) 数据库名 --tables (需要合并的表名空格隔开) > server_1_bak.sql4,导出2服中需要合并的表(导出生成insert语句)...
2019-08-07 10:31:34 1346 3
原创 linux安装erlang
1.安装Erlang编译依赖:0.1 yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget0.2 yuminstallncurses-devel0.1不行再用0.2只要选一个就行2 选择自己的目录进行安装。 找到想要的版本http://erlang.org/d...
2019-07-22 11:43:37 379
原创 回滚数据库日志
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2019-7-01 0:00:00" --stop-datetime="2019-7-01 01:00:00" mysql-bin.0000* > log.sql
2019-07-01 17:36:41 648
原创 数据库超时信息
今天游戏导量,短时间内挤进大量玩家,而外网新服只有两个节点,出现数据库超时信息,这种情况下,需提前多增开几个节点。节点开启总数(通常,我们游戏在多节点情况下,1节点不进人,所有不算)按最高在线人数除以每个节点支撑玩家数(目前游戏按3、4百人算)。...
2019-06-26 14:38:11 203
原创 游戏卡死玩家问题
进入战场,打着打着,发现角色都倒下了但是没复活。发现5个角色只躺下了三个,剩下两个卡在出生点的不可行走点了。。表哥把出点录的离不可行走点太近了,而副角色的出生点是随机在主角色周围的150像素之内随机取的。结果副角色被卡到了不可行走点.......
2019-05-08 15:06:07 175
原创 erlang节点时间问题
昨天发现线上游戏后台开关出了问题,吓得我赶紧去看一下。习惯性上主节点打印出ets发现ets存的数据都对但是登录游戏却看到到时间关的活动没关到。。。怀疑了一下人生后,决定上2节点看一下,发现1节点的ets上存的活动确实关了,但是2节点上的还是开着的,吓得我赶紧看一下代码,发现以前的大兄弟写的是跨天时每个节点自己加载一下模板表,算一次自己的活动开关。后续的开关变化都由主节点通知。想了各种情况最后发现是...
2019-05-08 14:59:47 307
原创 erlang trace(打印某个模块方法调用次数)
trace 日志 会把mod 每次调用详细MFA log 下来,args 太大就不好看了 %trace Mod 所有方法的调用trace(Mod) -> dbg:tracer(), dbg:tpl(Mod, '_', []), dbg:p(all, c).%trace Node上指定 Mod 所有方法的调用, 结果将输出到本地shelltrac...
2019-02-11 16:38:07 699
原创 某公司限制协议长度16bit导致玩家进不去
昨晚发现某公司的底层限制了协议长度16bit(正常来说这是很科学的),但是我们一直以来的习惯,导致玩家上不去,原因是我们手动粘的包过大,超过了对方限制的长度。粘包的初始想法减少协议头(简单说是控制一下流量),但是有些公司的底层比较智能点限制了长度。解决:把手动粘的包单体大的抽出来单独发,太大的要写个循环切成小包。(只做记录哈)...
2018-09-26 10:17:44 212
转载 Erlang项目内存泄漏分析方法
这篇文章主要介绍了Erlang项目内存泄漏分析方法,本文讲解了分析方法、分析流程并找到问题原因和解决方法,需要的朋友可以参考下随着项目越来越依赖Erlang,碰到的问题也随之增加。前段时间线上系统碰到内存高消耗问题,记录一下troubleshooting的分析过程。线上系统用的是Erlang R16B02版本。问题描述有几台线上系统,运行一段时间,内存飙升。系统模型很简单,有网络连接,...
2018-07-15 20:23:33 768
原创 服务器流量过高
1台云服务器装了50个服,刚好活动时间导了一波量,到时服务器流量跑满带宽,cup上去了,(目前怀疑的,硬盘不行,代码有问题包量太多),找了几个服加了包量监控,过两周看结果。(临时解决,一台云服务器装服不超过30个服,代码黏包发送减少加密头)...
2018-06-12 11:47:49 948
转载 磁盘信息
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。语法df(选项)(参数)选项-a或--all:包含全部的文件系统;--block-size=<区块大小>:以指定的区块大小来显示区块数目;-h或--human-readable:以可读性较高的方式来显示信息;-H或--si:与-h参数相同,但在计算...
2018-06-02 14:59:32 349
转载 性能分析之IO分析-jbd2引起的IO高
背景:请事假在外中,听平台组同事反馈了一个问题,在往生产数据库中导入部分数据时会造成客户端的访问超时,初步定位是因为服务器磁盘占用IO过高,导数据时IO会飙升到100%,因此引起了不少数据库的慢查询操作导致客户端响应超时,无奈只好暂时停止了导入数据的脚本,同时也延误了针对这部分数据的生产测试工作。于是我第二天回到公司就投入了对这个问题的跟踪定位工作。环境描述:操作系统文件系统数据库首先我们数据库...
2018-06-02 14:56:43 3633
转载 Linux vmstat命令实战详解
mstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令,一个是Linux/Unix都支持,二是相比top,我可以看到整个机器的CPU,内存,IO的使用情况,而不是单单看到各个进程的CPU使用率和内存使用率(使用场景不一样)。一般vmstat工具的...
2018-06-02 11:53:28 221
转载 linux sar命令详解
linux sar命令详解2012年08月21日 ⁄ CentOS, Linux ⁄ 共 4053字 ⁄ 字号 小 中 大 ⁄ 评论 1 条 ⁄ 阅读 52,586 次sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存...
2018-06-02 11:49:23 225
转载 linux--top详解
查看多核CPU命令mpstat -P ALL 和 sar -P ALL 说明:sar -P ALL > aaa.txt 重定向输出内容到文件 aaa.txttop命令经常用来监控Linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的top监控截图,...
2018-06-02 11:48:31 209
转载 服务器很卡--原因之一io太高
linux wa%过高,iostat查看io状况在使用top命令的时候会看到这么一行:翻译一下:us:用户态使用的cpu时间比sy:系统态使用的cpu时间比ni:用做nice加权的进程分配的用户态cpu时间比id:空闲的cpu时间比wa:cpu等待磁盘写入完成时间hi:硬中断消耗时间si:软中断消耗时间st:虚拟机偷取时间如果一台机器看到wa特别高,那么一般说明是磁盘IO出现问题,可以使用iost...
2018-06-02 11:46:51 24462
原创 关于linux的常用命令
pwd 显示当前目录完整路径和改变目录cd netseek 进入netseek这个目录cd 退出当前目录cd ../ 进入上一级目录.cd - 返回上一次目录cd ~ 返回主目录cat file | grep "" | wc -l 查看关键字出现几次cat file | grep -c "" 查看关键字出现的行数...
2018-03-16 10:14:50 206
原创 跨服时候运营忘了配跨服组
问题 战场小组跨服,运营单服某个战场忘了配跨服开关。解决 因为这个战场的规则有需求,每个月的倒数第二个星期从本服同步数据到跨服机,忘了配就是没有同步。所以先是找了个有定时loop的进程,执行一个跨服机信息同步。...
2018-03-16 10:03:14 262
原创 外网出现战场时间到了,但是没把玩家踢出来地图
在人物身上添加个定时器,第一次执行的时候,把是这个活动地图id的跟玩家当前的所在地图id比较是相同的就提出
2018-03-16 09:56:13 226
原创 mysql遇到的问题
服务器最近连接数据库老是莫名的断开,开始以为是配置的问题(默认8小时无操作自动断开);后来发现改了配置还是不行。。。最后是换了mysql的版本才不会断。记录一下,方便找为什么。
2017-07-26 15:08:06 259
转载 mysql_replace into
REPLACE的运行与INSERT很相似。只有一点例外,假如表中的一个旧记录与一个用于PRIMARYKEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除。 注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。所有
2017-07-25 15:30:56 301
原创 常用的mysql 语句
-- 修改表结构alter table (填写表名) modify column (填写字段名) (填写字段类型及长度);-- 添加新建项alter table (填写表名) add (填写字段名) 填写字段类型及长度) after (填写字段名);-- 更改主键ALTER TABLE (填写表名) drop PRIMARY KEY;ALTER TABLE
2017-03-09 15:30:53 317
转载 年青人,渴望力量吗?
设计语言篇:(C/C++)1、C程序设计语言2、C和指针3、C陷阱与缺陷4、C专家编程5、6、7、8、9、10、11、12、算法篇:13、14、15、16、17、基础篇:18、19、20、20、程序员篇:管理篇:
2017-03-09 15:24:16 4069
转载 erlang
第一步:查看进程数目是否正常? erlang:system_info(process_count). 第二步:查看节点的内存消耗在什么地方?> erlang:memory(). [{total,2099813400}, {processes,1985444264}, {processes_used,1985276128}, {system,114
2017-03-09 14:55:39 588
翻译 快速排序的实现
#include using namespace std;int FindPos(int * a, int low, int high){ int val = a[low]; while (low { while (low = val) --high; a[low] = a[high]; while (low ++lo
2015-05-08 16:08:26 324
翻译 堆的实现
#include #include #include #include using namespace std;typedef struct Node{ int data; struct Node * pNext;}NODE,*PNODE;typedef struct Stack{ PNODE pTop; PNODE pBotton;
2015-05-08 15:59:11 379
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人