自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

通往架构师的成长学习之路

他背起双手看着柳十岁,平静而认真地说道:“大道险且漫长,少有同行到最后,你已上路,更须专心,此去经年,忘却乃自然之事,莫刻意记起,那般不美”。

  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

原创 PHP源码分析(内存管理)

void *ptr=_emalloc(size);_efree(*ptr) //释放内存的时候只传入ptr,并没有传入释放内存大小当我们申请一个size大小的内存的时候,我们多申请一些存起来,下次用户申请的时候,直接给出相应大小的内存即可,这样减少了用户态和内核态的切换,提高效率,内存回收的时候需要知道这个内存属于哪个内存页page,属于哪个chunk,以便回收chunk内存...

2019-05-30 11:31:34 562

原创 PHP源码分析(基本变量、垃圾回收)

小而巧的zval扩充:结构体: 比如 struct test { char a //1 int b//4 long c //8 } 总共占了2*8=16字节 因为结构体对齐,虽然浪费字节,但是得益于内存对齐,存取速度会更快联合体:比如 union{ c...

2019-05-30 11:29:50 1761

原创 PHP7中数组(HashTable)类型

Hashtable 的概念:字符串的键先会被传递给一个 hash 函数(hashing function,中文也翻译为散列函数),然后这个函数会返回一个整数,而这个整数就是“通常”的数组的索引,通过这个数字索引可以访问到 字符串的键对应的数据。本质上PHP的数组是有序的字典,表示k-v对的是有序列表,其中k-v映射是使用hashTable实现的,PHP将字符串key通过哈希函数运算返...

2019-05-26 23:43:56 2933 2

转载 负载均衡集群介绍

1.1、什么是负载均衡集群负载均衡集群提供了一种廉价、有效、透明的方法,来扩展网络设备和服务器的负载、带宽、增加吞吐量、加强网络数据的处理能力、提高网络的灵活性和可用性搭建负载均衡器的需求:1)把单台计算机无法承受的大规模的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待时间,提升用户体验2)单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果...

2019-05-24 14:35:02 728

转载 常见的DDOS攻击及原理-应用层

一、 简述 随着网络技术和网络应用的发展,网络安全问题显得越来越重要,已经被提到一个很高高的高度。DDOS攻击随着互联网的快速发展,也日益猖獗,从原来的的几兆、几十兆,到现在的几十G、几十T的流量攻击,形成了一个很大的利益链。DDOS攻击由于容易实施、难以防范、难以追踪等而成为最难解决的网络安全问题之一,给网络社会带来了极大的危害。同时,拒绝服务攻击也将是未来信息战的重要手段之一...

2019-05-24 11:06:15 1522

转载 数据库分库分表思路

一. 数据切分关系型数据库本身比较容易成为系统瓶颈,单机存储容量、连接数、处理能力都有限。当单表的数据量达到1000W或100G以后,由于查询维度较多,即使添加从库、优化索引,做很多操作时性能仍下降严重。此时就要考虑对其进行切分了,切分的目的就在于减少数据库的负担,缩短查询时间。数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位、整合。数据切分就是将数据分散存...

2019-05-22 18:23:28 452

原创 Redis底层数据类型

Redis主要数据结构:简单动态字符串(SDS)、双端链表、字典、跳跃表、整数集合、压缩列表和快速列表;一、简单动态字符串(SDS):Redis没有直接使用C语言中的传统的字节数组保存字符串,而是自行构建了简单动态字符串(SDS),C字符串只是作为简单动态字符串(SDS)的字面量,用于在无需对字符串值进行修改的地方。结构:struct __attribute__ ((__pack...

2019-05-22 11:02:15 270

转载 kafka:如何保证消息不丢失不重复

首先要考虑这么几个问题: 消息丢失是什么造成的?(从生产端和消费端两个角度来考虑) 消息重复是什么造成的?(从生产端和消费端两个角度来考虑) 如何保证消息有序? 如果保证消息不重不漏,损失的是什么? 下面是文章详情,这里先简单总结一下: 消费端重复消费:很容易解决,建立去重表。 消费端丢失数据:也容易解决,关闭自动提交offse...

2019-05-20 17:49:20 1125

原创 redis 双写一致性

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客,对这几种方案进行解析。于是博主战战兢兢,顶着被大家喷的风险,写了这篇文章。文章结构本文由以下三个部分...

2019-05-20 16:41:16 2492

原创 php-fpm 三种运行模式

php-fpm配置配置文件:php-fpm.conf开启慢日志功能的:slowlog = /usr/local/var/log/php-fpm.log.slowrequest_slowlog_timeout = 5s当某个请求的时间超过了5秒,就会在慢日志中记录相应的记录,注意上面的时间5s,不能忽略了单位,相应的还有其他单位,m分,h时php-fpm慢日志会记录下进程...

2019-05-15 15:46:44 709

原创 读书笔记:Mysql实战45讲 (11-21讲)

11、怎么给字符串加索引 比如email这个字段,如果email字段没有索引,那么这个语句只能做全表扫描 mysql支持前缀索引,所以可以定义字符串一部分为索引。 alter table s add index index1(email); alter table s add index index2(em...

2019-05-13 10:09:39 854 2

原创 PHP7新特性、运行模式和生命周期

1、PHP目录 PHP源码核心目录 Zend文件下,spai放在sapi的文件下,一些扩展的方法和库函数在ext文件下 编译的脚本是在configure目录下,接下来make进行编译,make install 会把相关的二进制文件拷贝到我指定的目录下 ./configure --prefix=/usr/tmp/php/php-7.1.0 --enable-fpm --...

2019-05-08 18:36:58 932

原创 聊聊Linux性能优化那些事四(如何快速分析出系统CPU的瓶颈以及如何优化)

CPU性能指标 首先,最容易想到应该是CPU使用率,CPU使用率描述了非空闲时间占总CPU时间的百分比,根据CPU上运行任务的不同,又被分为用户CPU、系统CPU、等待I/OCPU、软中断和硬中断等 用户CPU使用率,包括用户CPU使用率(user)和低优先级用户态CPU使用率(nice),表示CPU在用户态运行的时间百分比。用户CPU使用率高通常说明有应用程序繁忙系统CPU使...

2019-05-07 16:06:17 493

原创 聊聊Linux性能优化那些事三 (系统中出现大量不可中断或者僵尸进程怎么办)

进程状态其中对应的进程状态: 不可中断状态其实就是为了保证进程数据与迎接状态一致,并且正常情况下,不可中断状态在很短时间内就会结束。所以短时的不可中断状态进程我们一般可以忽略。但是如果系统或者硬件发送了故障,进程可能会在不可中断状态保持很久,甚至导致系统中出现大量不可中断进程。这个时候就要注意下,是不是I/O等性能问题 僵尸进程,这是多进程应用很容易...

2019-05-06 19:03:21 564

原创 pidstat 命令详解

pidstat 概述pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。pidstat 安装pidstat 是sysstat软件套件的一部分,sys...

2019-05-06 18:33:41 18150

原创 聊聊Linux性能优化那些事二(CPU使用率达到100%、为什么CPU很高却查不到是哪个应用)

某个应用的CPU使用率达到100%,该怎么办? 一般用来描述系统的CPU性能指标:平均负载、CPU上下文切换还有CPU使用率CPU使用率 Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给每个任务使用,因此造成多任务同时运行的错觉。 Linux通过/proc虚拟文件系统,向用户提供了系统内部状态的信息。 比如 /p...

2019-05-05 19:45:00 3148

原创 聊聊Linux性能优化那些事一 (平均负载、CPU上下文切换)

性能指标:高并发和响应快 对应着性能优化的两个核心指标 吞吐 和 延迟。这两个指标是从应用负载的视角来考察性能,直接影响产品终端用户体验。跟他们对应的是从系统资源的视角触发的指标,比如资源使用率、饱和度等随着应用负载的增加,系统资源使用也会升高,甚至达到极限。而性能问题的本质,就是系统资源已经达到瓶颈,但请求的处理却还不够快,无法支撑更多的请求。 性能分析:找出应用或者系统的瓶颈...

2019-05-04 19:55:10 909

总结春招一线公司的面试题

总结春招一线公司的面试题,希望对各位春招的人有帮助

2018-05-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除