
服务器
文章平均质量分 91
hongmingover
。。。。。。。
展开
-
nginx大全
nginx大全1.1什么是nginx?nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor-Sysoev所开发,官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定,所以现在很多知名的公司都在使用nginx。1.2 nginx应用场景1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。2、虚拟主机。可以实现在一台服务器虚拟出多个网.原创 2021-04-06 18:49:57 · 782 阅读 · 0 评论 -
一文读懂Redis中的多路复用模型
一文读懂Redis中的多路复用模型服务端思维5天几种 I/O 模型为什么 Redis 中要使用 I/O 多路复用这种技术呢?首先,Redis 是跑在单线程中的,所有的操作都是按照顺序线性执行的,但是由于读写操作等待用户输入或输出都是阻塞的,所以 I/O 操作在一般情况下往往不能直接返回,这会导致某一文件的 I/O 阻塞导致整个进程无法对其它客户提供服务,而I/O 多路复用就是为了解决这个问题而出现的。阻塞IO先来看一下传统的阻塞 I/O 模型到底是如何工作的:当使用read...转载 2021-03-28 10:55:32 · 285 阅读 · 0 评论 -
linux内存管理--top下信息的分析
linux内存管理--top下信息的分析细心的朋友会注意到,当你在Linux下频繁存取文件后,物理内存会很快被用光,当程序结束后,内存不会被正常释放,而是一直作为caching.这个问题,貌似有不少人在问,不过都没有看到有什么很好解决的办法.那么我来谈谈这个问题.先来说说free命令[root@server ~]# free -m totalused...转载 2019-10-30 11:35:29 · 150 阅读 · 0 评论 -
Linux中Buffer和Cache的区别
Linux中Buffer和Cache的区别1. Cache:缓存区,是高速缓存,是位于CPU和主内存之间的容量较小但速度很快的存储器,因为CPU的速度远远高于主内存的速度,CPU从内存中读取数据需等待很长的时间,而 Cache保存着CPU刚用过的数据或循环使用的部分数据,这时从Cache中读取数据会更快,减少了CPU等待的时间,提高了系统的性能。 Cache并不是缓存文...原创 2019-10-30 11:32:18 · 130 阅读 · 0 评论 -
正确解读free -m
正确解读free -m如下显示free是显示的当前内存的使用,-m的意思是M字节来显示内容.我们来一起看看.$ free -mtotal used free shared buffers cachedMem: 1002 769 232 0 62 421-/+ buffers/cache: 286 715Swap: 1153 0 1153第一部分Mem行:total 内存总数:...转载 2019-10-30 11:31:01 · 680 阅读 · 0 评论 -
服务降级–服务降级的一点认识
服务降级–服务降级的一点认识服务降级:主要是针对非正常情况下的应急服务措施;比如电商平台,在针对618、双11等高峰情形下采用部分服务不出现或者延时出现的情形。为什么是非正常情况下呢,比如我要出差,如果经常出差的话,要带的衣服又非常多,那我买个大箱子就好;但是如果我基本出差,买个大箱子又用不到,那我只有个小箱子就够用,那么我只有在出差的时候把一些不重要的放弃了。放弃某一部分就是服务降级1、...转载 2019-04-15 19:06:11 · 493 阅读 · 0 评论 -
布隆过滤器(bloom filter)介绍以及php和redis实现布隆过滤器实现方法
布隆过滤器(bloom filter)介绍以及php和redis实现布隆过滤器实现方法引言在介绍布隆过滤器之前我们首先引入几个场景。场景一在一个高并发的计数系统中,如果一个key没有计数,此时我们应该返回0,但是访问的key不存在,相当于每次访问缓存都不起作用了。那么如何避免频繁访问数量为0的key而导致的缓存被击穿?有人说, 将这个key的值置为0存入缓存不就行了吗?确实,这...转载 2019-04-15 20:51:50 · 1622 阅读 · 0 评论 -
算法基础:生动理解BitMap算法
算法基础:生动理解BitMap算法17-09-2316:08BitMap?BitMap你可能会想到位图文件,但在算法中也有个叫BitMap的数据结构,常利用在压缩、爬虫系统中url除重、解决全组合问题,经常被用在解决海量数据寻找重复数据或者判断数据是否存在该集合的问题。一道经常出现的面试题面试经常会问:给一台配置是2G内存,要处理一个包含40亿个不重复并且没有排过序的...转载 2019-04-15 23:39:39 · 152 阅读 · 0 评论 -
布隆过滤器的原理、实现和探究
布隆过滤器的原理、实现和探究2014年06月22日 08:30:20打工是不可能打工滴阅读数:5766更多所属专栏:机器学习理论与实践1.布隆过滤器的使用价值有时候我们需要判断一个元素是否在一个集合中。比如,在字处理软件中,需要检查一个单词是否拼写正确(也就是要判断它是否在已知的字典里);在警察系统中,一个嫌疑人的名字是否出现在嫌疑名单上;在网络爬虫里,一个网址是否已经...转载 2019-04-16 10:32:59 · 223 阅读 · 0 评论 -
高并发架构系列:什么是流量削峰?如何解决秒杀业务的削峰场景
高并发架构系列:什么是流量削峰?如何解决秒杀业务的削峰场景流量削峰的由来主要是还是来自于互联网的业务场景,例如,马上即将开始的春节火车票抢购,大量的用户需要同一时间去抢购;以及大家熟知的阿里双11秒杀, 短时间上亿的用户涌入,瞬间流量巨大(高并发),比如:200万人准备在凌晨12:00准备抢购一件商品,但是商品的数量缺是有限的100-500件左右。这样真实能购买到该件商品的用户也...转载 2019-04-16 10:49:04 · 1288 阅读 · 0 评论 -
三种常见的限流算法
三种常见的限流算法在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。1、计数器算法计数器算法是限流算法里最简单也是最容易实现的一种算法。比如我们规定,对于A接口来说,我们1...转载 2019-04-16 20:24:13 · 295 阅读 · 0 评论 -
谈谈高并发系统的限流
谈谈高并发系统的限流开涛大神在博客中说过:在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。缓存缓存比较好理解,在大型高并发系统中,如果没有缓存数据库将分分钟被爆,系统也会瞬间瘫痪。使用缓存不单单能够提升系统访问速度、提高并发访问量,也是保护数据库、保护系统的有效方式。大型网站一般主要是“读”,缓存的使用很容易被...转载 2019-04-15 16:40:17 · 153 阅读 · 0 评论 -
千万级规模高性能、高并发的网络架构经验分享
千万级规模高性能、高并发的网络架构经验分享主 题:INTO100沙龙时间:2015年11月21日下午地点:梦想加联合办公空间分享人:卫向军(毕业于北京邮电大学,现任微博平台架构师,先后在微软、金山云、新浪微博从事技术研发工作,专注于系统架构设计、音视频通讯系统、分布式文件系统和数据挖掘等领域。)架构以及我理解中架构的本质在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个...转载 2019-04-08 17:07:45 · 137 阅读 · 0 评论 -
XMPP文字,图片,语音聊天实现
XMPP文字,图片,语音聊天实现时间过得很快,我的第一份iOS工作做的就是IM应用(选用的是XMPP),如今也忘得差不多了.利用空闲时间来重写一遍小Demo就当复习一下.原理我就不介绍了,服务器的安装与配置可以参考XMPP的mysql和openfire环境配置或者配置介绍这篇环境配置转自陈怀哲首发自简开始吧!我做的Demo地址为:gitHub里面有很多BUG不要太介意先来一个流...转载 2019-04-08 10:00:19 · 647 阅读 · 0 评论 -
Lua:编译安装LuaJIT,第一个Lua程序
Lua:编译安装LuaJIT,第一个Lua程序一、下载LuaJIT 文件名:LuaJIT-2.0.2.tar.gz 下载地址(官网):http://luajit.org/download.html wget -c http://luajit.org/download/LuaJIT-2.0.2.tar.gz二、编译、安装 ...转载 2019-03-16 00:29:16 · 1235 阅读 · 0 评论 -
网站性能优化方向
网站性能优化方向一、规范说明性能是网站运行是否良好的关键因素,网站的性能与效率影响着公司的运营成本及长远发展,编写出高质高效的代码是我们每个开发人员必备的素质,也是我们良好的职业素养。二、影响性能的因素A、商业需求需求合理性 需求与系统的整合 需求所带来的商业利益是否与需求开发的成本成正比 需求所带来的风险B、Web 服务器并发处理能力 高负载的能力 负载均衡的...转载 2019-03-06 17:00:10 · 179 阅读 · 0 评论 -
nginx+php执行请求的工作原理
nginx+php执行请求的工作原理 php工作原理首先先了解下常听说的cgi,php-cgi,fastcgi,php-fpm到底是什么关系,帮助了解php的工作原理cgi协议cgi协议用来确定webserver(例如nginx),也就是内容分发服务器传递过来什么数据,什么样格式的数据php-cgi进程解释器php-cgi是php的cgi协议进程解释器,每次启动时...转载 2019-02-25 20:00:47 · 127 阅读 · 0 评论 -
终于有人把“TCC分布式事务”实现原理讲明白了!
终于有人把“TCC分布式事务”实现原理讲明白了!之前网上看到很多写分布式事务的文章,不过大多都是将分布式事务各种技术方案简单介绍一下。很多朋友看了还是不知道分布式事务到底怎么回事,在项目里到底如何使用。所以这篇文章,就用大白话+手工绘图,并结合一个电商系统的案例实践,来给大家讲清楚到底什么是 TCC 分布式事务。首先说一下,这里可能会牵扯到一些 Spring Cloud 的原理,如果有...转载 2019-02-28 21:09:15 · 221 阅读 · 0 评论 -
调用链与分布式追踪系统
调用链与分布式追踪系统EthanWW · 大约9小时之前 · 21 次点击 · 预计阅读时间 3 分钟 · 不到1分钟之前 开始浏览 上周的工作内容是开发一个运维需求——对接公有云的分布式追踪系统。服务上线转商用之前,运维能力需要满足商用要求,而使用分布式追踪系统把服务监控起来,是商用运维要求中的必须项,因此有了这个需求。一周下来,代码已经开发得差不多了,还差验证和上线工作,在这之前...转载 2019-01-21 09:56:47 · 504 阅读 · 0 评论 -
高并发之服务降级和服务熔断
高并发之服务降级和服务熔断服务降级:服务压力剧增的时候根据当前的业务情况及流量对一些服务和页面有策略的降级,以此环节服务器的压力,以保证核心任务的进行。同时保证部分甚至大部分任务客户能得到正确的相应。也就是当前的请求处理不了了或者出错了,给一个默认的返回。服务熔断:在股票市场,熔断这个词大家都不陌生,是指当股指波幅达到某个点后,交易所为控制风险采取的暂停交易措施。相应的,服务熔断一...转载 2019-04-17 16:23:47 · 285 阅读 · 0 评论 -
用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景?
用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景?首先,我们一起来看看这个问题的背景?前段时间有个朋友在外面面试,然后有一天找我聊说:有一个国内不错的电商公司,面试官给他出了一个场景题:假如下单时,用分布式锁来防止库存超卖,但是是每秒上千订单的高并发场景,如何对分布式锁进行高并发优化来应对这个场景? 他说他当时没答上来,因为没...转载 2019-04-17 17:14:36 · 834 阅读 · 1 评论 -
谈谈为什么需要服务治理(Dubbo)
谈谈为什么需要服务治理(Dubbo)服务治理主要针对于当前分布式架构下多服务、微服务等。服务是分布式系统下的一个不大不小的部分,有了服务的组成,整个系统才能活起来。随着业务的增长,服务不能一味地随之增长,需要管理、治理。没有服务治理的分布式系统不一定会失败,但是随着业务的增长,这个系统一定会很痛苦。服务治理的目标服务治理严格意义上应该划分为三个阶段,包含了服务的整个生命周期。...转载 2019-09-27 11:33:29 · 363 阅读 · 0 评论 -
答题小程序设计
需求评审 详细设计: 背景和目标 排期 (10人日) 存储设计Mysql 活动信息的配置 题库: mysql mysql 每组答题题目记录 mysql + redis mysql 用户已答题记录 mysql + redis mysql 存储设计Redis 活动所有选择问题id的存储key 活动所有选字问题...原创 2019-07-11 15:30:41 · 1355 阅读 · 0 评论 -
memcached对key和value的限制 memcached的key最大长度和Value最大长度
memcached对key和value的限制 memcached的key最大长度和Value最大长度memcached的简单限制就是键(key)和item的限制。最大键长为250个字符。可以接受的储存数据不能超过1MB,因为这是典型slab 的最大值。这里我们可以突破对key长度的限制。问题解决:修改memcached源文件。在memcached.h中定义key的长度,其代码为:...转载 2019-05-13 11:13:25 · 753 阅读 · 0 评论 -
使用 xhprof 进行线上 PHP 性能追踪及分析
使用 xhprof 进行线上 PHP 性能追踪及分析之前一直使用基于 Xdebug 进行 PHP 的性能分析,对于本地开发环境来说是够用了,但如果是线上环境的话,xdebug 消耗较大,配置也不够灵活,因此线上环境建议使用xhprof 进行 PHP 性能追踪及分析。#xhprof 的安装与简易用法xhprof是 Facebook 开源的轻量级 PHP 性能分析工具,Linux ...转载 2019-04-24 13:37:23 · 209 阅读 · 0 评论 -
Golang下bind: address already in use
Golang下bind: address already in use今天测试给服务端发消息,结果忘了把端口正常关闭,再次启动时候发现进程运行不了,出现提示说端口地址被占用了,这是由于上次忘了关闭,导致端口还在被使用,所以只能自己在终端查找并手动关闭,具体方法如下:在终端输入lsof -i:8000,查找被使用的端口,其中8000是端口号,如下图所示查找结果.jpegCO...转载 2019-04-23 20:23:58 · 1685 阅读 · 0 评论 -
理解BitMap算法的原理
理解BitMap算法的原理文章来源:企鹅号 - 我是攻城师前言位图:一种常用的数据结构,代表了有限域中的稠集(dense set),每一个元素至少出现一次,没有其他的数据和元素相关联。在索引,数据压缩,海量数据处理等方面有广泛应用。BitMap 的思想的和原理是很多算法的基础,比如 Bloom Filter、Counting Bloom Filter。BitMap的原理...转载 2019-04-18 15:45:46 · 423 阅读 · 0 评论 -
Bloom Filter 的基本原理和实现
发表于木东居士的专栏订阅在这篇文章中:0x00 前言 0x01 原理 0x02 实现 0x03 误判率 0xFF 总结0x00 前言Bloom Filter 是由 Burton H. Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。Bloom Filter 最初的论文发表在ACM,...转载 2019-04-18 14:12:11 · 200 阅读 · 0 评论 -
BitMap 的基本原理和实现
BitMap 的基本原理和实现在这篇文章中:前言 一、原理 基本原理 字符串映射 二、实现 三、使用 四、总结前言文章是自己写了后先发到了公众号里,再转到了内部的KM。算是一个系列的学习笔记,一篇篇来。本篇是大数据算法系列 第一篇《BitMap的原理和实现》,BitMap 的思想的和原理是很多算法的基础,因此我们以BitMap开篇。既然是说大数据算法,我们先...转载 2019-04-18 13:49:30 · 1143 阅读 · 0 评论 -
Redis之bitMap(位图)
Redis之bitMap(位图) 1、位图结构redis可以直接对二进制位进行操作。2、setbit位图设值offset:位数value:值 只能是0或者13、getbit获取位图值4、bitcount统计范围内的1个数5、bitpos计算范围内targetbit的位置6、位图的使用...转载 2019-04-18 11:10:09 · 260 阅读 · 0 评论 -
算法系列-bitmap算法详解和实现
算法系列-bitmap算法详解和实现版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/tiankong_/article/details/776510761.什么是bitmap?我们可以将bitmap看成是一种数据结构,所谓的Bit-map就是用一个(或几个)bit位来标记某个元素对应的state(value)。最基本的情况,使用1bit...转载 2019-04-17 19:25:36 · 246 阅读 · 0 评论 -
Redis事务使用方法 watch
Redis事务Redis事务是一组命令的集合,也是Redis的最小执行单位之一。一个事务的所有命令,要么都执行,要么都不执行。Redis能保证事务执行期间不会有其他命令插入。相关命令命令 格式 说明 DISCARD DISCARD 取消事务 EXEC EXEC 执行事务中的命令 MULTI MULTI 标记一个事务...转载 2019-04-17 17:44:04 · 2364 阅读 · 0 评论 -
动手复现http错误码场景:499,500,502,504
动手复现http错误码场景:499,500,502,504 关注微信公众号:nginx,一起交流后端技术知识。 Status Code 499、500、502、504也是后端Http服务经常返回的状态码,试想一下,对于每个状态码,如果你能通过一些修改或配置来人为复现它,是不是会更利于你去掌握它呢?本文就是通过动手复现的方式来学习它们。502,504在超时的场景下会比较像,...转载 2018-12-19 10:44:10 · 2895 阅读 · 1 评论 -
什么是“堆”,"栈","堆栈","队列",它们的区别?
什么是“堆”,"栈","堆栈","队列",它们的区别? 1 2 3 4 5 6 7 分步阅读如果你学过数据结构,就一定会遇到“堆”,"栈","堆栈","队列",而最关键的是这些到底是什么意思?最关键的是即使你去面试,这些都还会问到,所以如果你不懂对你是损失很大的。工具/原料 细心、记忆转载 2018-12-24 14:45:39 · 201 阅读 · 0 评论 -
多线程详解
多线程详解2018年04月26日 01:13:48 lc545126483 阅读数:243Java中的多线程你只要看这一篇就够了引如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现。说这个话其实只有一半对,因为反应“多角色”的程序代码,最起码每...转载 2018-11-05 10:59:09 · 116 阅读 · 0 评论 -
查询的qps计算--峰值计算
你好,每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 问:每天30转载 2018-01-02 10:11:53 · 2549 阅读 · 0 评论 -
nginx为什么比Apache支持高并发???
nginx为什么比Apache支持高并发??? 最开始接触编程时,使用的是Apache服务器,后来随着网站用户访问量的增加,考虑高并发是必不可少的环节,越来越多的公司使用nginx服务器。我们公司最近也打算更换nginx服务器。那么nginx和Apache有哪些异同点呢,nginx为什么比Apache支持高并发呢? 首先,先看一下各自使用的IO模转载 2017-12-21 23:24:26 · 2058 阅读 · 0 评论 -
进程间通信的几种姿势
1、共享内存2、tcp/udp3、管道4、文件系统[数据数据库]5、窗口之间的消息转载 2017-12-21 14:10:57 · 177 阅读 · 0 评论 -
分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择 分布式系统 消息系统
分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择您的评价: 0.0收藏 1收藏这是一个开撕的话题,我经历过太多的关于分布式事务的需求:“有没有简单的方案,像使用数据库事务那样,解决分布式数据一致性的问题”。特别是微服务架构流行的今天,一次交易需要跨越多个“服务”转载 2017-11-14 20:20:04 · 449 阅读 · 0 评论 -
安装配置php-fpm来搭建Nginx+PHP的生产环境
安装配置php-fpm来搭建Nginx+PHP的生产环境nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx本文以php-fpm为例介绍如何使nginx支持PHP一、转载 2017-10-26 18:44:10 · 2998 阅读 · 0 评论