文章插图
问题1:使用jmeter性能压测,定位瓶颈代码步骤流程:线程组--->Http请求--->查看结果树--->聚合报告
tips:host的文件--->优先调用映射,减少DNS的时间
默认内嵌Tomcat配置---->参数调优
server.tomcat.accept-count:等待队列长度,默认100
server.tomcat.max-connections:最大可被连接数,默认10000
server.tomcat.max-threads:最大工作线程数,默认200
server.tomcat.min-spare-threads:最小工作线程数,默认10
默认配置下,连接超过10000后出现拒绝连接情况
默认配置下,触发的请求超过200+100后拒绝处理
定制化内嵌Tomcat开发--->keepalive
keepAliveTimeOut:多少毫秒后不响应的断开keepalive
maxKeepAliveRequests:多少次请求后keepalive断开失效
使用WebServerFactoryCustomizer定制化内嵌tomcat配置
MySQL数据库QPS容量问题
◆主键查询:千万级别数据=1-10毫秒
◆唯一索引查询:千万级别数据=10-100毫秒
◆非唯一索引查询:千万级别数据=100-1000毫秒
◆无索引:百万条数据=1000毫秒+
问题2:分布式扩展1.单机容量问题,水平扩展
- mysql数据库开放远端连接
- 服务端水平对称部署
- 验证访问
Nginx的高性能原因:
- epoll多路复用
- master-worker模型
- 协程机制 依附于线程的内存模型,切换开销小 遇阻塞及归还执行权 代码同步无需加锁
文章插图
3.分布式会话管理传统的会话管理
基于cookie传输sessionid:JAVA tomcat容器session实现
基于token传输类似sessionid:java代码session实现
使用redis实现分布式会话存储
基于cookie传输sessionid:java tomcat容器session实现迁移到redis
基于token传输类似sessionid:java代码session实现迁移到redis
问题3:查询优化技术1.掌握多级缓存的定义缓存设计
用快速存取设备
用内存将缓存推到离用户最近的地方
脏缓存清理
2.多级缓存1.redis缓存:单机、哨兵、集群----(注意序列化问题)
2.热点内存本地缓存--Guava cache
- 可控制的大小和超时时间
- 可配置的lru策略
- 线程安全
- 依靠文件系统存索引级的文件
- 依靠内存缓存文件地址
- nginx lua挂载点---将简单的逻辑放到Nginx中处理,避免调用java代码 init-by_lua:系统启动时调用 init-worker-by_lua:worker进程启动时调用 setby_lua:nginx变量用复杂lua return rewrite-by_lua:重写url规则 access_by_lua:权限验证阶段 content-by_lua:内容输出节点
- OpenResty OpenResty由Nginx核心加很多第三方模块组成,默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用 。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序 。OpenResty提供了大量组件如Mysql,Redis,Memcached等等使在Nginx上开发Web应用更方便更简单 。
使用openresty对redis支持,可以连接到从机,只读不写 。(3500)
问题4:静态资源的优化1.静态请求CDN1.DNS用CNAME解析到源站
2.回源缓存设置
? cache control响应头
- private:客户端可以缓存
- public:客户端和代理服务器都可以缓存
- max-age=xxx:缓存的内容将在xxx秒后失效
- no-cache:强制向服务端再验证一次
- no-store:不缓存请求的任何返回内容
文章插图
有效性验证
- ETag:资源唯一标识
- If-None-Match:客户端发送的匹配Etag标识符
- Last-modified:资源最后被修改的时间
- If-Modified-Since:客户端发送的匹配资源最后修改时间的标识符
文章插图
三种刷新方式
- 回车刷新或a链接:看cache-control对应的max-age是否仍然有效,有效则直接from cache,若cache-control中为no-cache,则进入缓存协商逻辑
- F5刷新或command+ R刷新:去掉cache-control中的max-age或直接设置max-age为0,然后进入缓存协商逻辑
推荐阅读
- 实体店如何与网店竞争 网店的市场机会和市场威胁
- 直通车为什么要开多个计划 直通车一个宝贝可以用两个计划吗
- 开店找货源哪里便宜 想开网店如何找货源
- 直通车加速推广有什么用 如何进行直通车推广
- 穿衣搭配|中性女生应该如何穿搭,才不过于浮夸,显得年轻又时尚?
- 新手如何开店 新手开店注意的事项
- 淘宝网开店时货源如何选择?定价的技巧是什么? 怎么开淘宝店及货源
- 如何让网店生意好起来 刚开网店如何提高销量
- 如何在淘宝网上开网店免费 怎么在淘宝上免费开店?
- 店铺推广引流的方法 分析淘宝店铺如何进行营销推广引流