- 博客(20)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 五.memcached内存管理机制
memcached Slab Allocator分配机制Slab Allocator的基本原理是按照预先规定的大小,将分配的内存分割成特定长度的块,以完全解决内存碎片问题。 Slab Allocation的原理相当简单,就是将分配的内存分割成各种尺寸的块(chunk),并把尺寸相同的块分成组(chunk的集合)Slab Allocation缓存原理:memcached根据收到数据的大小,选择最合适
2017-03-21 12:32:42 337
原创 四.LRU删除机制与永久数据被T
Memcached的过期数据删除机制1.当某个值过期后,并没有从内存删除,因此,使用stats命令统计时,curr_item参数有信息(不为0) 2.当某个新值去占用他的位置时,当成空chunk来占用(即取代了原来数据占用内存的位置) 3.当get值时,判断是否过期,如果过期,返回空,并且清空,curr_item就减少这个过程,只是让用户看不到这个数据而已,并没有在过期的瞬间立即从内存删除,这个
2017-03-21 12:30:03 391
原创 三.缓存雪崩现象和无底洞现象
一.缓存雪崩现象一般是有某个节点失效,导致其他节点的缓存命中率下降,缓存中缺失的数据去数据库查询,短时间内,造成数据库服务器崩溃 重启DB,短时间又被压垮,但缓存数据也多了一些,DB反复多次启动,缓存重建完毕,DB才稳定运行案例: 一个上千万PV的门户网站,缓存生命周期设置了6小时,当等到6小时缓存失效后,之前放到缓存的数据,都转到DB中查询,这时候,DB的压力急剧上升,最后导致DB崩溃解决方法
2017-03-21 10:25:47 456
原创 二.memcached的运用
一.setset key flags exptime bytes [noreply]value参数说明如下:key:键值 key-value 结构中的 key,用于查找缓存值。flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)bytes:在缓存中存储的字节数noreply(可选): 该参数
2017-03-20 23:03:47 254
原创 一.memcached简介and安装
一.Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。 Memcached基于一个存储键/值对的hashmap。二.安装
2017-03-20 22:36:56 275
原创 六.负载均衡的算法
在负载反向代理的算法上,共有五种: 轮询、 ip_hash、weight、 fair(第三方)、 url_hash(第三方) 一.轮询是默认的每一个请求按顺序逐一分配到不同的后端服务器, 如果后端服务器down掉了,则能自动剔除。(如果又存活了,能自动加进来吗?) weight是设置权重,用于后端服务器性能不均的情况,访问比率约等于权重之比 配置文件: upstream test {
2017-03-18 22:42:56 295
原创 五.Nginx反向代理与动静分离
一.简单配置用nginx做反向代理用proxy_pass 以反向代理为例, nginx不自己处理图片的相关请求,而是把图片的请求转发给apache来处理. —-这就是传说的”动静分离”,动静分离不是一个严谨的说法,叫反向代理比较规范. 配置如下:location ~ \.(jpg|jpeg|png|gif)$ { proxy_pass HTTP://IP:port;}1:
2017-03-18 19:01:39 320
原创 四.配置详解
一.Nginx配置段详解// 全局区// 有1个工作的子进程,可以自行修改,但太大无益,因为要争夺CPU,// 一般设置为 CPU数*核数worker_processes 1; Events {// 一般是配置nginx连接的特性// 如1个worker能同时允许多少连接 worker_connections 1024; // 这是指 一个子进程最大允许连1024个连接}http {
2017-03-18 08:57:36 387
原创 三.Nginx进程与模块
一.Nginx架构介绍Nginx 的代码是由一个核心和一系列的模块组成。 核心主要用于提供 WebServer 的基本功能,以及 Web 和 Mail 反向代理的功能; 还用于启用网络协议,创建必要的运行时环境以及确保不同的模块之间平滑地进行交互。 不过,大多跟协议相关的功能和应用特有的功能都是由 nginx 的模块实现的。这些功能模块大致可以分为 事件模块、阶段性处理器、输出过滤器、变量处
2017-03-18 07:25:34 419
原创 二.Nginx的web服务器搭建
一.安装Nginx1.直接apt-get安装sudo apt-get install nginx2.源码安装安装依赖库ssl功能需要openss库gzip模块需要zlib库rewrite模块需要pcre库然后在编译安装nginx3.开启nginxsudo service nginx restart二.初级配置要让 php 与 nginx 一起工作//配置文件位置sudo vim /etc/
2017-03-17 14:35:52 771
原创 一.Nginx功能描述
一.Nginx是什么nginx是一款高性能的HTTP和反向代理服务器软件. 二.Nginx与Apache1.相同点同是HTTP服务器软件,都采用模块化结构设计支持通用语言接口,如PHP,Python等支持正向代理和反向代理支持虚拟主机及ssl加密传输支持缓存及压缩传输支持URL重写模块多,扩展性强多平台支持2.Nginx的优势轻量级 安装文件小 运行时CPU内存使用率低性能强
2017-03-17 10:48:55 530
原创 二.支付宝即时到帐接口和TP框架整合
一.第一步将核心方法和加密方法放在ThinkPHP框架里 home/common/function.php中即可,方便调用二.第二步将两个类放在ThinkPHP项目里的/ThinkPHP/Library/Think下,并修改名字 AlipayNotify.class.php AlipaySubmit.class.php 然后在类开始添加命名空间 namespace Think 然后删掉
2017-03-16 23:17:47 531
原创 一.支付宝接口-开发前的准备
一.支付流程二.环境要求1.PHP5.0以上. 2.curl 3.ssl:Secure Sockets Layer 安全套接层 4.文档地址: 蚂蚁金服:https://doc.open.alipay.com/docs/doc.htm?treeId=193&articleId=105304&docType=1 即时到帐:https://doc.open.alipay.com/doc
2017-03-16 16:13:48 367
原创 六.服务器硬件优化
一.选择CPU1.Mysql有一些工作(Replicate,SQL)只能使用到单核CPU,建议选择单核性能更快的CPU. 2.MySQL对CPU核数的支持并不是越多越快 MySQL5.5使用的服务器不要超过32核.二.Disk IO优化常用RAID级别简介 RAID0:也称为条带,就是把多个磁盘链接成一个硬盘使用,这个级别IO最好 RAID1:也称为镜像,要求至少有两个磁盘,每组磁盘存储的数
2017-03-15 18:00:31 358
原创 五.系统配置优化
一.操作系统配置优化1.网络方面的配置要修改/etc/sysctl.conf文件#增加tcp支持的队列数net.ipv4.tcp_max_syn_backlog=65535#减少断开连接时,资源回收net.ipv4.tcp_max_tw_buckets=8000net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_fin
2017-03-15 17:47:23 756
原创 四.数据库结构优化
一.选择合适的数据类型1.使用可以存下你的数据的最小的数据类型2.使用简单的数据类型.Int要比varchar类型在mysql处理上简单3.尽可能的使用not null定义字段4.尽量少用text类型,非用不可时最好考虑分表举例: ①使用int类型存储日期时间,利用from_unixtime(),unix_timestamp()两个函数来进行转换create table t
2017-03-15 16:37:36 334
原创 三.索引优化
一.如果选择合适的列建立索引1.在where从句,group by从句,order by从句,on从句中出现的列.2.在索引字段越小越好.3.离散度大的列放到联合索引的前面判断离散度 查看列唯一值的数量,数量越大,离散度越大.select count(distinct customer_id),count(distinct staff_id) from payment;二.索引优化SQL的方法1.
2017-03-15 13:37:22 612
原创 二.SQL语句优化
一.慢查询1.作用把运行时间较长的SQL语句记录下来.2.开启(1)查看是否开启慢查询show variables like 'slow_query_log';(2)记录未使用索引的查询set global log_queries_not_using_indexes=on;(3)慢查询时间show variables like 'long_query_time';//查看慢查询时间set glob
2017-03-14 22:47:07 416
原创 一.数据库分类、设计、优化
一.数据库分类1.关系型数据库:MySQL、Oracl、SQLServer、db2、informix、sysbase。 2.非关系型数据库:Memcache、redis、MongoDB。二.数据库设计(1).需求分析(2).概念结构设计阶段标识实体:具体存在的对象,一般的是名词,一个实体一个表 标识属性:一个属性是一个字段 标识关系: 1.一对多:主键和非主键建立关系 2.一对一:两个表的
2017-03-14 08:34:49 678
PHP开发晋升课程 BAT资深工程师解析Tp5+Tp6底层源码
2020-05-05
在centos下安装php扩展redis成功后,无法连接redis,求安装过的大神指教
2016-11-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人