性能优化-动态语言并发处理
什么是进程,线程,协程 进程:是计算机中的程序关于某数据集合的一次运行活动,是系统进行资源费配合调度的基本单位,是操作系统结构的基础(进程是一个执行中的程序) 进程的三态模型**(运行,就绪,阻塞)**:多道程序系统中,进程在处理器上交替进行,状态不断地发生变法 运行:当一个进程在处理机上运行时,则
什么是进程,线程,协程 进程:是计算机中的程序关于某数据集合的一次运行活动,是系统进行资源费配合调度的基本单位,是操作系统结构的基础(进程是一个执行中的程序) 进程的三态模型**(运行,就绪,阻塞)**:多道程序系统中,进程在处理器上交替进行,状态不断地发生变法 运行:当一个进程在处理机上运行时,则
show profiles show profiles:默认关闭 show variables like '%profiling%' set profiling = on show profiles会记录所有所有sql查询语句所花的时间 缺点:只能看到全部的总时间 show profile all
实现主从复制: master(主数据库)将改变的数据记录在本地的二进制日志中,该过程称之为二进制事件。 slave(从数据库)将master的二进制日志拷贝到自己的中继日志中。 将数据读取到自己的数据库中,中继日志事件。 MySQl主从复制是异步的,串行化的,有延迟 配置前 关闭防火墙,授权 1.
冒泡排序 /逐行对比,满足条件则交换 function bubbleSort($arrData,$sort = 'desc') { if(empty($arrData)) return $arrData; //默认有序 $isSorted = true; $nCou
进程 打开一个程序会开启一个进程,进程里面包含线程,都可以完成多任务,进程是一个资源分配的单位,包括代码,cpu内存资源等,线程去调用进程的资源去完成任务,是一个系统资源调度的单位。 进程类似于一个工厂,而线程类似于工厂里面生产的工人。 线程是依赖进程的
MySQl提供了一种日志记录,终于记录响应时间超过阈值的sql语句(long_query_time,默认10s),默认关闭,开发时打开,部署时关闭 检查是否开启慢查询日志:show variables like '%slow_query_log%' 临时开启:set gloabl slow_quer
什么是动态语言静态化 将现有PHP等动态语言的逻辑代码生成静态HTML文件,用户访问动态脚本重定向到静态HTMl文件的过程 使用场景 对事实性要求不高的页面 为什么要静态化 动态脚本通常会做逻辑计算和数据查询,访问量越大,服务器压力越大 访问量大是可能会造成CPU负载过高,数据库服务器压力过大 静态
redis-字符串命令及操作 set key val 设置 get key val 获取 mset user:1:name 张三 user:1:yue 123456 批量设置 mget user:1:name user:1:yue 批量获取 setnx key true 可以做分布式锁 del ke
mysql内部:连接层(提供与客户的服务)-》服务层(1提供各种接口,2sql优化器)-》引擎层(提供各种存储数据的方式)-》存储层(存储数据) 服务层中有sql优化器可能会影响优化 复合索引 跨列使用 如果有>,则自身和右侧全部失效() 尽量使用覆盖索引 like尽量以常量开头,不要意思'%'开头
七层负载均衡实现 基于URL等应用层信息的负载均衡 Nginx的proxy是他的一个很强大的功能,实现开了七层负载均衡 功能强大,心更卓越,运行稳定 配置灵活 能够自动剔除工作不正常的后端服务器 上传文件使用异步模式 支持多种分配策略,可以分配权重,分配方式灵活 Nginx负载均衡 内置策略 IP