memcached

基于3D NAND层差异的固态盘请求调度算法研究立项 报告

泄露秘密 提交于 2020-05-09 16:13:12
Abstract SSD(Solid State Drive),因其超高的读写性能,以及价格的走低趋势逐渐占据市场,为人们带来更好的用户体验,也为企业级的高并行业务需要提供了一定支持,近几年来SSD的应用越来越广泛。随着数据量的增大,2D NAND flash 芯片已经无法满足大规模的存储需要,3D 结构SSD应运而生,这里面涉及到用户的请求分配问题,传统的排队算法是基于2D闪存的,没有体现3D闪存的层速度差异特征,这样现有算法的有效性降低,性能降低。本项目提出一种新的排队算法,在请求时间评估时考虑3D闪存速度差异特征(即3D闪存的层和层之间存在较大的差异性),让较快层的请求优先执行,以获得更好的整体相应性能。 1项目背景以及研究意义 随着人们对于数字化生活要求的提升和数据的快速增长,人们对存储设备的速度和容量有了更高的要求。固态硬盘(Solid State Drives),一种以半导体为介质的硬盘也被人们创造出来。因其I/O性能较好,广泛的应用于事物处理系统,随着工艺进步,固态硬盘的容量逐渐增大,单位容量的价格也在逐步降低,这才使得SSD为大众所青睐,SSD现在发展到商用,各种电脑,各种服务器,各种移动终端都可见SSD的影子,固态硬盘已经渗透到当今每一个行业和业务职能领域,成为不可缺少的一环,也将直接决定各行业的用户体验。 由于固态硬盘的接口规范和定义

自动化运维工具Ansible之Roles测验详解

徘徊边缘 提交于 2020-05-09 16:09:43
Ansible Roles 详解与实战案例 主机规划 添加用户账号 说明: 1、 运维人员使用的登录账号; 2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放; 3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。 1 # 使用一个专门的用户,避免直接使用root用户 2 # 添加用户、指定家目录并指定用户密码 3 # sudo提权 4 # 让其它普通用户可以进入该目录查看信息 5 useradd -u 1050 -d /app yun && echo ' 123456 ' | /usr/bin/ passwd -- stdin yun 6 echo " yun ALL=(ALL) NOPASSWD: ALL " >> /etc/ sudoers 7 chmod 755 /app/ Ansible 配置清单Inventory 之后文章都是如下主机配置清单 1 [yun@ansi-manager ansible_info]$ pwd 2 /app/ ansible_info 3 [yun@ansi-manager ansible_info]$ cat hosts_key 4 # 方式1、主机 + 端口 + 密钥 5 [manageservers] 6 172.16 .

自动化运维工具Ansible之Roles测验详解

删除回忆录丶 提交于 2020-05-09 10:30:54
Ansible Roles 详解与实战案例 主机规划 添加用户账号 说明: 1、 运维人员使用的登录账号; 2、 所有的业务都放在 /app/ 下「yun用户的家目录」,避免业务数据乱放; 3、 该用户也被 ansible 使用,因为几乎所有的生产环境都是禁止 root 远程登录的(因此该 yun 用户也进行了 sudo 提权)。 1 # 使用一个专门的用户,避免直接使用root用户 2 # 添加用户、指定家目录并指定用户密码 3 # sudo提权 4 # 让其它普通用户可以进入该目录查看信息 5 useradd -u 1050 -d /app yun && echo ' 123456 ' | /usr/bin/ passwd -- stdin yun 6 echo " yun ALL=(ALL) NOPASSWD: ALL " >> /etc/ sudoers 7 chmod 755 /app/ Ansible 配置清单Inventory 之后文章都是如下主机配置清单 1 [yun@ansi-manager ansible_info]$ pwd 2 /app/ ansible_info 3 [yun@ansi-manager ansible_info]$ cat hosts_key 4 # 方式1、主机 + 端口 + 密钥 5 [manageservers] 6 172.16 .

CentOS7安装OpenStack-01.系统环境准备和相关组件安装

◇◆丶佛笑我妖孽 提交于 2020-05-08 21:15:43
官方文档: https://docs.openstack.org 1.0.系统环境 生产测试应用的服务器最好是物理机,虚拟目前可以完成搭建测试体验 系统选择是目前的最新版本:CentOS Linux release 7.7.1908 (Core) 控制节点 :Controller :192.168.182.143 计算节点 :Nova:192.168.182.142 1.1.配置域名解析 1)配置主机名 # 在 控制节点 上执行 hostnamectl set - hostname controller echo ' # controller 192.168 . 182.143 controller # compute1 192.168 . 182.142 compute1 ' >>/etc/hosts 1.2.关闭防火墙和selinux systemctl stop firewalld.service systemctl disable firewalld.service systemctl status firewalld.service setenforce 0 getenforce sed -i ' s#SELINUX=enforcing#SELINUX=disabled#g ' /etc/sysconfig/ selinux grep SELINUX =disabled

Weed3 for java 新的微型ORM框架

这一生的挚爱 提交于 2020-05-08 19:02:57
Weed3,微型ORM框架(支持:java sql,xml sql,annotation sql;template sql;事务;缓存;监听;等...) 05年时开发了第一代; 08年时开发了第二代,那时候进入互联网公司,对性能有了全新的认识; 14年时开发了第三代,因为不喜欢滥用反射,不喜欢有很多配置,所以一直在执着的没放弃。 前两代,都是在.net开发的;第三代,重点放在了java上。应该算是个功能全面且小巧的ORM框架:0.1mb,无其它依赖。对外的接口也不多,主要由DbContext上的四个接口发起所有的操作。 因为一些执念写的东西都算是比较微型的: Snack3(Json框架 70kb,有序列化,有Jsonpath,有格式转换机制;强调构建能力) Solon(Web框架 80kb) 一个手机浏览器(0.1mb,可是有完整功能哦;算是一个创意作品) Weed3 特点和理念: 高性能:两年前有个同事测过四个ORM框架,它是性能最好的(不知道现在是不是)。 跨平台:可以嵌入到JVM脚本引擎(js, groovy, lua, python, ruby);也有.net,php版本。 很小巧:0.1Mb(且是功能完整,方案丰富;可极大简化数据库开发)。 有个性:不喜欢反射、不喜欢配置...(除了连接,不需要任何配置)。 其它的:支持缓存控制和跨数据库事务(算是分布式事务的一种吧)。

见了鬼的!国外国内都躲不过的面试题,到底怎么答才得分?

二次信任 提交于 2020-05-08 12:01:10
大家都知道的是算法面试占比高,可现在 系统设计面试也避无可避! 有人问: 不是SDE2才问系统设计,SDE1只考察OOD吗? 往年也许如此,但今年面试的小伙伴反馈: 亚麻分别在三、四轮里出现OOD和系统设计 。甚至今年初有 new grad也面到系统设计 ,实在凶残! 如今大家都在玩命刷题,仅靠算法已无法甄别“尖子生”了,而系统设计覆盖面广,考察没有标准答案,于是成了大厂“试金石”。 国外必考、国内躲不过 都知道系统设计难,这时就有小伙伴问了: 我已打算今年回国发展,国内互联网公司是不是就考察考察算法呀? “ 别闹... 系统设计,国内面试照样考! " 咱们讲座分享群的同学也验证过: 就拿国内一线大厂阿里来说好了,通常 P6就要考系统设计了 。这是个啥职级呢? 阿里招的应届生通常给P5,一般工作1~3年的优秀者可以升至6,现在社招几乎也都要P6以上。通常这个职级没有股票,但全职16薪,年均40W左右。 结论就是: 无论国外,还是国内,躲不过就是躲不过! 既然都要考,那到底咋得分? 都说系统设计面试就是让你“造火箭”! 没错,许多面试者都有种“高屋建瓴”的感觉。往往看完网上搜的资料,脑子更不清楚了,只能哀嚎: 见了鬼的,谁能告诉我到底怎么答才得分?! 今天小编就用一道Facebook真题来举例: Design a photo reference counting system at

Redis是单线程的,但Redis为什么这么快?

|▌冷眼眸甩不掉的悲伤 提交于 2020-05-08 10:57:42
近乎所有与Java相关的面试都会问到缓存的问题,基础一点的会问到什么是“二八定律”、什么是“热数据和冷数据”,复杂一点的会问到缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题,这些看似不常见的概念,都与我们的缓存服务器相关,一般常用的缓存服务器有Redis、Memcached等,而笔者目前最常用的也只有Redis这一种。 如果你在以前面试的时候还没有遇到过面试官问你《为什么说Redis是单线程的以及Redis为什么这么快!》,那么你看到这篇文章的时候,你应该觉得是一件很幸运的事情!如果你刚好是一位高逼格的面试官,你也可以拿这道题去面试对面“望穿秋水”般的小伙伴,测试一下他的掌握程度。 好啦!步入正题!我们先探讨一下Redis是什么,Redis为什么这么快、然后在探讨一下为什么Redis是单线程的? 一.Redis简介 Redis是一个开源的内存中的数据结构存储系统,它可以用作:数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(String),散列(Hash),列表(List),集合(Set),有序集合(Sorted Set或者是ZSet)与范围查询,Bitmaps,Hyperloglogs 和地理空间(Geospatial)索引半径查询。其中常见的数据结构类型有:String、List、Set、Hash、ZSet这5种。 Redis 内置了复制

Tengine(nginx) 搭建Tomcat集群

两盒软妹~` 提交于 2020-05-08 05:15:11
    好久没有更新学习的内容了,就是得强迫自己写点东西 记录自己的学习,才能更好的进步! Tengine是由淘宝网发起的Web服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如 淘宝网 , 天猫商城 等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。     首先将Tengin上传到Linux服务器上,然后进行解压 安装 依赖 yum -y install gcc openssl-devel pcre-devel zlib-devel 编译 三步走 ./configure \ --prefix=/opt/sxt/soft/tengine-2.1.0/ \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --with-http_ssl_module \ --with-http_flv_module \ --with-http_stub_status_module \ --with-http_gzip

分布式session的几种实现方式

故事扮演 提交于 2020-05-08 05:14:54
在搭建完集群环境后,不得不考虑的一个问题就是用户访问产生的session如何处理。如果不做任何处理的话,用户将出现频繁登录的现象,比如集群中存在A、B两台服务器,用户在第一次访问网站时,Nginx通过其负载均衡机制将用户请求转发到A服务器,这时A服务器就会给用户创建一个Session。当用户第二次发送请求时,Nginx将其负载均衡到B服务器,而这时候B服务器并不存在Session,所以就会将用户踢到登录页面。这将大大降低用户体验度,导致用户的流失,这种情况是项目绝不应该出现的 。 我们应当对产生的Session进行处理,通过粘性Session,Session复制或Session共享等方式保证用户的体验度。 以下我将说明5种Session处理策略,并分析其优劣性。 第一种:粘性session 原理:粘性Session是指将用户锁定到某一个服务器上,比如上面说的例子,用户第一次请求时,负载均衡器将用户的请求转发到了A服务器上,如果负载均衡器设置了粘性Session的话,那么用户以后的每次请求都会转发到A服务器上,相当于把用户和A服务器粘到了一块,这就是粘性Session机制。 优点:简单,不需要对session做任何处理。 缺点:缺乏容错性,如果当前访问的服务器发生故障,用户被转移到第二个服务器上时,他的session信息都将失效。 适用场景:发生故障对客户产生的影响较小

Win10 搭建 nginx + tomcat 集群 + memcached + session 共享

谁都会走 提交于 2020-05-08 04:39:45
在前两博文的基础上,实现基于memcached的session共享。采用Windows10操作系统。 1. 搭建Tocat集群(参考第一篇博文)。 2. 搭建nginx反向代理服务器(参考第二篇博文)。 3. 搭建memcached缓存系统。memcached 官网没有给出基于windows系统的安装包,这个大家可以再网上搜索。有很多人自己buiild的基于windows系统的memchaed. 安装很简单,直接解压到安装路径下,然后用管理员身份到安装路径下在CMD中执行“memcached.exe -d install”,并执行“memcached.exe -d start”启动memcached. 本文不在描述具体安装过程。接下来讨论利用MSM来实现Tomcat集群的session共享。 1. 下载具体的依赖包,并导入到tomcat的lib下面(本人放在D:\D\apache-tomcat-8.5.30-tomcat1\lib和D:\D\apache-tomcat-8.5.30-tomcat2\lib)。因为序列化方式不一样,导入的依赖包也不一样。 我采用的是javolution方式(kyro序列化方式一直没有测试成功,可能是导入的依赖包版本不match,后续会继续研究),采用javolution方式所需要的依赖包如下: javolution-5.4.3.jar