服务器架构的演变

1.初始阶段 初始阶段,通常使用一台服务器即可。 应用程序、数据库、文件等所有资源都在一台服务器上。 2.应用服务与数据分离 随着业务发展,一台服务器逐渐不能满足需求,这时候就需要将应用和数据分离。 对于这三台服务器要求各不相同: 应用服务器 要处理大量的业务逻辑,所以需要更好更快更强大的 CPU 数据库服务器 需要快速的进行磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存 文件服务器 需要存储用户上传的文件资源,因此需要更大的硬盘存储空间 应用与数据分离后,各个的职责变得更加专一,网站的性能得到进一步的提升,但随着用户的继续增加,我们需要对网站架构进一步优化。 3.利用缓存改善网站性能 现 …

Nodejs 调用 Google Translate

Google服务需使用科学上网 npm install google-translate-api –save 修改源码 node_modules/google-translate-api/index.js 使用例子 const fs = require(‘fs’); const translate = require(‘google-translate-api’); const tranApi = function (text, iso) { return new Promise(function (resolve, reject) { translate(text, {to: iso}). …

ubuntu16.04 使用 root 账号登录

1. 为root用户设置密码 sudo passwd root 需要先输入一次当前用户的登陆密码,然后输入两次root用户的密码(自己设置)。 2. 切换至root用户 sudo -s 3. 编辑登陆配置文件 vi /usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf 4. 编辑后内容如下(“i”键开始编辑,“Esc”键 – “:wq”保存并退出) [SeatDefaults] user-session=ubuntu autologin-user=root greeter-session=unity-greete greeter-show …

nodejs 异步改同步

node之所以轻便高效,是因为它使用了事件驱动(事件环机制),因此在node中有大量的异步的回调函数。但是当异步回调里面嵌套异步回调的时候,就会发生一些混乱的事情,这个时候,我们就需要将嵌套的异步回调改变为同步,只有同步了才能获取一些变量或元素。 异步代码 const request = require(‘request’); let synchronous_post = function (url , params ){ let options = { url : url , form : params }; request.get(options , function(error,resp …

linux如何释放内存

当在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,一直作为caching。 查看内存情况 free -m total used free shared buffers cached Mem: 3733 3598 135 0 31 280 -/+ buffers/cache: 3286 446 Swap: 81499 2506 78993 total 内存总数 used 已经使用的内存数 free 空闲的内存数 shared 多个进程共享的内存总额 buffers buffer Cache和cached Page Cache 磁盘缓存的大小 -buffers …

Object.defineProperty 实现双向数据绑定

语法 Object.defineProperty(obj, prop, descriptor) 参数 obj 要在其上定义属性的对象。 prop 要定义或修改的属性的名称。 descriptor 将被定义或修改的属性描述符。 返回值 被传递给函数的对象。 示例 var person= {}; Object.defineProperty(person, “name”, { value: ‘名字’ }) console.log(person.name); // 名字 双向绑定 set 和 get var person = {}; Object.defineProperty(person, ‘nam …

Python3 基础速成

Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java. # 用井字符开头的是单行注释 “”” 多行字符串用三个引号 包裹,也常被用来做多 行注释 “”” #################################################### ## 1. 原始数据类型和运算符 #################################################### # 整数 3 # => 3 # 算术没有什么出乎意料的 1 + 1 # => 2 8 – 1 # => 7 10 * 2 …

使用jmeter进行websocket压力测试

准备 jmeter默认不支持websocket连接,需要下载额外的jar包到jmeter目录的\lib\ext\目录下 下载地址: http://170.106.148.50/download/jmeter测试websocket依赖包.zip 配置jmeter 1.新建线程组 2.添加websocket sampler 3.添加结果监视器 4.配置websocket sampler 5.结果 本文链接地址: 使用jmeter进行websocket压力测试