服务器
偶像罗斯福
从事手机游戏事业十多年,欢迎大家交流探讨
展开
-
MyISAM与InnoDB两者之间区别
MyISAM表锁不支持事务select快支持全文索引InnoDB行锁只对where主键起作用,多线程访问可以并发执行;事务隔离级别支持事务insert update 快不支持全文索引...原创 2019-02-28 17:45:33 · 500 阅读 · 1 评论 -
定时器的设计
a[1] = tools.jingji.action # 功能函数a[2] = tools.worldboss.action#数据库中的数据结构id,hour,min,times1, 20, 00,22, 20, 00,303, 20, 00,2344, 20, 00,25, 20, 00,26, 20, 00,1# 伪代码plan = getPlanList()todayHad原创 2017-12-19 15:15:44 · 300 阅读 · 0 评论 -
面向对象简单解释
继承{1,2,3}{1,2,3,4,5}class foo(object): def __init__(self, arg) self.a = 100; def doAction(self, arg1, arg2) self.b = arg1 self.c = arg2class child(foo): def __init_原创 2017-11-17 14:08:07 · 476 阅读 · 0 评论 -
Python在函数中使用*和**接收元组和列表
当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 。这种方法在函数需要获取可变数量的参数 的时候特别有用。[注意] [1] 由于在args变量前有*前缀 ,所有多余的函数参数都会作为一个元组存储在args中 。如果使用的是**前缀 ,多余的参数则会被认为是一个字典的健/值对 。[2] 对于def func(*args):,*args表示把传进来的转载 2017-11-03 11:44:51 · 335 阅读 · 0 评论 -
利用PyCharm进行Python远程调试(pypy环境)
背景描述有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟踪调试就好了。然而,在服务器系统上安装一个IDE肯定是不现实的;通过SSH远程到服务器端,采用pdb进行调试虽然可行,但是操作还是较为繁琐,而且也不够直观。那么,是否可以将开发环境中的IDE与服务器环境相连,实现利用开原创 2017-10-26 14:05:25 · 1188 阅读 · 0 评论 -
python效率测试
# -*- coding: utf-8 -*-#!/bin/env pythondef test1(): n=0 for i in range(101): n+=i return ndef test2(): return sum(range(101))def test3(): return sum(x for x in range(101))原创 2017-11-09 10:35:10 · 902 阅读 · 0 评论 -
行为树(Behavior Tree)实践
自从开博以来,每天都会关心一下博客的访问情况,看到一些朋友的订阅或者访问,不胜欣喜,也促使我去写一些更好的博文,来和大家分享和交流,从访问统计来看,有相当一部分是来自于搜索引擎的流量,关键字以“行为树”,或者“Behavior Tree”居首位,我想大家对此可能有些兴趣,加上,这几年反反复复一直在AI中研究和运用行为树,所以这次就来谈谈关于行为树(Behavior Tree)的一些东西,以前也写过转载 2017-10-31 16:53:48 · 2743 阅读 · 0 评论 -
supervisorctl -c ../run/horizon/run.conf
supervisorctl -c ../run/horizon/run.conf I_LOGIN STOPPED Not startedBI_MIX_1 STOPPED Not startedBI_MIX_2 STOPPED Not s原创 2017-10-23 11:31:07 · 357 阅读 · 0 评论 -
docker命令笔记
# 启动所有服务 docker-compose start docker-compose ps docker ps # 登录到虚拟机中 docker exec -it funstone_gateway_MIX_2_1 bash cd /tmp tail -f admin.log docker-compose stop db原创 2017-10-20 11:54:52 · 194 阅读 · 0 评论 -
游戏服务器端架构升级之路
这几天的心情非常好,主要原因是我们把服务器端的架构升级到了 2.0,这样最大的一个好处就是:Server重启完全不会影响外网服务所以,也是想趁此机会,服务器端整个发展的历程,跟大家分享一下,干货比较多,框架代码也会全部开源:) 一. 农业时代创业最重要的就是一个“快”字,所以最开始的时候,所有的架构都以快速出模型为前提。而常看我博客的朋友应该转载 2017-10-27 16:14:51 · 602 阅读 · 0 评论 -
Nginx 相关
Nginx与Apache服务器对比轻量级同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 。nginx运行起来占用的资源CUP非常少,对于启动、重启都非常快速,在低配电脑上也可以快速的运行。Nginx 配置简洁Apache 复杂,对于这一点使用过nginx的用户来原创 2017-08-09 15:00:21 · 324 阅读 · 1 评论 -
分享十条nmap实用命令行技巧
51CTO编辑导读:nmap是Linux下最常使用的安全扫描工具,经典中的经典。基本上,各种Linux安全相关的书籍中都会提及nmap,还不了解nmap的朋友们可以先从这篇文章了解一下。以下是正文:这里是 10 条 nmap 的技巧,运行于 CLI 环境下,如果你更喜欢用 GUI 工具的话,请用 Zenmap 。1) 获取远程主机的系统类型及开放端口nmap -sS -P0 -sV -O <targ转载 2017-07-14 16:20:17 · 530 阅读 · 0 评论 -
java热更
在web应用开发或者游戏服务器开发的过程中,我们时时刻刻都在使用热部署。热部署的目的很简单,就是为了节省应用开发和发布的时间。比如,我们在使用Tomcat或者Jboss等应用服务器开发应用时,我们经常会开启热部署功能。热部署,简单点来说,就是我们将打包好的应用直接替换掉原有的应用,不用关闭或者重启服务器,一切就是这么简单。那么,热部署到底是如何实现的呢?在本文中,我将写一个实例,这个实例就是一个容转载 2017-07-10 15:45:00 · 935 阅读 · 0 评论 -
一个属性表示多个状态
if __name__ == '__main__': first = 1 second = 1 2 three = 1 4 four = 1 6 mark = 0 mark |= first #mark |= second mark |= three #mark |= four if mark&first原创 2018-01-05 16:03:15 · 585 阅读 · 0 评论 -
windows下docker相关笔记( toolbox)
因为用的是windows 10(home),只能用toolbox的方式安装docker磁盘挂载mount -t vboxsf app /app# app 为共享名字,对应于windows目录ssh登录ssh docker@192.168.99.100passwd: tcuser# sudo -i (docker用户下执行)# 切换成root用户...原创 2018-02-09 12:04:31 · 185 阅读 · 0 评论 -
python服务器搭建遇到的坑
72 yum install git 204 yum -y install pypy 340 yum -y install docker 358 yum -y install docker 360 yum -y install docker-io 365 yum -y install docker-io 374 yum update 383 yum...原创 2018-01-19 14:38:29 · 446 阅读 · 0 评论 -
Here is how to import a string as a module
import sys,impmy_code = 'a = 5'mymodule = imp.new_module('mymodule')exec my_code in mymodule.__dict__In Python 3, exec is a function, so this should work:import sys,impmy_code = 'a = 5'mymod...原创 2019-01-25 17:28:13 · 4246 阅读 · 0 评论 -
很有意思的充值系统设计
原创 2018-11-19 18:28:29 · 1388 阅读 · 0 评论 -
工作日志2018.11.01
修改读取log的脚本scp ~/log/player*.log root@192.168.1.233:~/game3s/logsscp ~/log/player*.log root@192.168.1.233:/data/www/game3s/logs/cat conf/fairy_tail/log_server.inised -ie 's/228/231/g' conf/fairy_...原创 2018-11-01 16:10:52 · 186 阅读 · 0 评论 -
批量改代码再也不害怕了
import osos.sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.realpath(__file__))))import configparserimport sysfrom public import *from public.db import *from public.utils import *...原创 2018-10-26 14:47:02 · 250 阅读 · 0 评论 -
sed高级用法
echo "mmj\"evan\"df" | sed 's/\(.*\)"\(.*\)"\(.*\)/\2/g'表达式含义s表示替换命令(.*)"表示第一个引号前的内容“(.*)”表示两引号之间的内容)"(.*)表示引号后的内容\2表示第二对括号里面的内容输出结果evan同理echo &原创 2018-10-19 15:07:07 · 396 阅读 · 0 评论 -
nohup 缓存问题
方法一nohup python -u gm_server/gm_server2.pyc &gt;&gt;logs/gm_server2.log 2&gt;&amp;1 &amp;方法二export PYTHONUNBUFFERED=1nohup python -u gm_server/gm_server2.pyc &gt;&gt;logs/gm_server2.log 2&a原创 2018-09-12 17:45:23 · 1746 阅读 · 0 评论 -
shell脚本的哪些淫荡技巧
计算浮点数,和c++一样可以控制两位小数echo &amp;amp;amp;quot;&amp;amp;amp;quot;|awk -F' ' '{printf(&amp;amp;amp;quot;%.2f\n&amp;amp;amp;quot;, 100*(21+100)/333)}'原创 2018-07-16 21:06:55 · 480 阅读 · 0 评论 -
mongodb mysql 命令对照
mysql mongoshow tables; show collectionsselect * from lastGotTime limit 1; db.lastGottime.findOn...原创 2018-06-08 11:25:37 · 411 阅读 · 0 评论 -
django uwsgi nginx 性能调优
django 支撑什么类型的数据库 常见的关系数据库postgresql、mysql、oracle、sqlite这些都支持,官方优先推荐PostgreSQL关系数据库。django 如何设置保存mysql数据库配置project目录的 init.pyimport pymysqlpymysql.install_as_MySQLdb在setting.py文件中 修改:...原创 2018-05-30 15:10:52 · 3457 阅读 · 0 评论 -
mongodb相关
创建用户db.createUser({ user:'root', pwd:'123123', customData:{description:&quot;dba&quot;}, roles:[{ 'role':'root', 'db':'admin' }] })db.createUser({ ...原创 2018-05-28 19:46:11 · 194 阅读 · 0 评论 -
probuf与python那些事
原创 2018-05-09 11:38:45 · 233 阅读 · 0 评论 -
wireshark : 明确connect、client-close、server-close、data-send
client-close: <-- [rst,ack] 红色 connect :--> [syn] 灰色 :<-- [syn,ack] data :<-- [psh,ack] :--> [ack]原创 2017-01-11 13:53:12 · 778 阅读 · 0 评论 -
服务器框架整理和编译依赖说明
目录结构root /* 跟目录名字可以自己定 */ -- Server /* 代码的目录 */ -- gameserver /* 程序的运行目录 */ -- server_config // 配置目录 -- server_data // 掉率、npc、成就数据(游戏本地数据) ...原创 2016-11-09 17:21:24 · 397 阅读 · 0 评论 -
Windows的程序性能分析和函数呼叫列表工具LTProf (Call Graph at Runtime)
转载请注明出处:http://blog.csdn.net/horkychen GNU有一个强大的性能分析工具gprof,同时可以输出程序调用顺序。今天发现Windows下也有一个: LTProf www.lw-tech.com它是使用Windows下的dbghelp.dll (CaptureStackBackTrace)来实现Call Stack的获取。给张截图:转载 2016-05-06 14:30:25 · 541 阅读 · 0 评论 -
probuf最简明教程
1、编写test.protopackage test;message persion{ required string name = 1;}2、执行命令protoc -I=. --cpp_out=. test.proto生成 test.pb.cc test.pb.h3、编译main.cpp#include <stdio.h> #include <time.h> #incl原创 2016-05-17 15:26:31 · 1192 阅读 · 0 评论 -
mmorpg游戏第2次内测问题总结
同屏的人数500人时客户端的fps可以掉到24帧以下,在vivo手机上观察cpu占用50%,内存占用130M左右。顶点数很高1100左右。没有编译成armv7版本,验证armv7版本的效果。服务器(login_server)发生了一次crash,怀疑是没有更新pdb文件。所以无法查看具体的崩溃地址。服务器压力未知。io情况未知、cpu情况未知、网络io未知。 下次测试记得向运维同学要截图。这次原创 2016-05-27 16:31:42 · 592 阅读 · 0 评论 -
log4cpp测试
#include <stdio.h> #include <time.h> #include <iostream>#include <boost/circular_buffer.hpp> #include <thread>#include <mutex>#include <vector>#include <stdio.h>#include <log4cpp/Category.hh原创 2016-05-13 16:07:36 · 783 阅读 · 0 评论 -
关于log4cpp
1. 基本概念 categories 日志的层级体系appenders 日志打印到什么地方,可以是文件,也可以是终端layouts 日志输出格式,定义类似于printf中的输出方式。有三种,后面都有例子,这三种分别是:basic,simple,patternpriority 日志的级别,所有的级别有:EMERG、FATAL、ALERT、CRIT、ERROR、WARN、NOTICE、INF转载 2016-05-13 14:31:43 · 548 阅读 · 0 评论 -
关于mmorpg游戏的压力测试
用配置文件即可表达发送的游戏协议json游戏协议二进制游戏协议用probuf的反射机制是否能解决?服务端进行记录log,方便调试要求每一个客户端登录游戏只有一条唯一的log 每一个客户端退出游戏只有一条唯一的log 每次存盘都记录一条日志 每次加载数据都记录一条日志日志内容time,login_type,user_id,role_id,原创 2016-05-13 13:42:28 · 1977 阅读 · 0 评论 -
boost circular_buff 测试
#include <stdio.h> #include <time.h> #include <iostream>#include <boost/circular_buffer.hpp> #include <thread>#include <mutex>#include <vector>using namespace std;std::mutex g_mutex; // pro原创 2016-05-11 15:01:34 · 507 阅读 · 0 评论 -
c++11时间函数
#include <stdio.h> #include <time.h> #include <iostream>using namespace std;const std::string getCurrentSystemTime(){ auto tt = std::chrono::system_clock::to_time_t (std::chrono::sy原创 2016-05-11 10:48:04 · 1071 阅读 · 0 评论 -
关于mongodb慢查询
1. 开启慢查询 > db.setProfilingLevel(2); {"was" : 0 , "ok" : 1} 上面斜体的级别可以取0,1,2 三个值,他们表示的意义如下: 0 – 不开启 1 – 记录慢命令 (默认为>100ms) 2 – 记录所有命令db.setProfilingLevel( 1 , 10 );记录大于10ms的1.2 启动时的设定方式mong原创 2015-10-26 17:41:13 · 712 阅读 · 0 评论 -
ab压力测试工具
ab(apache bench)是web服务器APACHE自带的压力测试工具。它通过模拟多个客户端同时对web服务器发起请求,对WEB服务器的并发性能进行测试。对于一般的服务器端程序,ab也提供了一种并发性测试的思路。本文将对ab的关键逻辑进行分析。ab的源码可以从http://code.google.com/p/apachebench-standalone/下载。 ab的使用说明如下: Usa转载 2015-10-22 19:43:22 · 772 阅读 · 0 评论 -
使用Python创建简单的HTTP和FTP服务
Python版HTTP服务器python -m SimpleHTTPServer 80http://localhost:80Python没有内置一个直接可以用的FTP服务器,所以需要第三方组件的支持,我找到的这个组件叫pyftpdlibpip install pyftpdlibHTTP服器类似,执行以下命令就可以启动一个FTP服务python -m pyftpdlib -p 2121端口依然是可选的原创 2015-07-31 11:48:52 · 1650 阅读 · 0 评论