发表于: 2020-06-19 22:26:08

1 1682


今天完成的事情:

1. 解决了任务五项目的一个 bug,纯属手误


2. 给项目完善了跳转的逻辑

访问需要登录的网页如果检测到登录失效会跳转登录页,登录完成之后会跳转之前用户要访问的页面。


3. 给 cookie 加上了 path,请求无需登录的页面与其他静态资源的时候不会再带上 cookie


收获:

1. 关于 JMeter

JMeter 是开源软件Apache基金会下的一个性能测试工具,用来测试部署在服务器端的应用程序的性能。

JMeter 使用 java 语言开发,用多线程的方式对目标网站与接口进行压力测试。


2. 关于 memcached

memcached 是一套分布式的高速缓存系统,其使用三十二比特的循环冗余校验(CRC-32)计算键值后,将数据分散在不同的机器上。当表格满了以后,接下来新增的数据会以LRU机制替换掉。由于 memcached 通常只是当作缓存系统使用,所以使用 memcached 的应用程序在写回较慢的系统时(像是后端的数据库)需要额外的代码更新memcached内的数据。

nginx 提供了 ngx_http_memcached 模块,提供从 memcache 读取数据的功能,而不提供向memcache写数据的功能。作为web服务器,这种设计是有其应用场景的。

一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。


3. 关于 nginx 模块 upstream

nginx模块一般被分成三大类:handler、filter 和 upstream。

其中 upstream 模块,将使nginx跨越单机的限制,完成网络数据的接收、处理和转发。


Nginx 的 upstream 支持 5 种 分配方式,其中 轮询、权重、IP 散列这三种为 Nginx 原生支持的分配方式,fair 和 url_hash 为第三方支持的分配方式。


遇到的问题:

1. mysql 超时设置

昨天晚上 idea 项目一直开着挂了一晚上,早上来访问的时候发现数据库超时断开连接了,刷新了几次才好。

设置数据库超时:

a,在数据库连接中设置

///ptteng?useUnicode=true&characterEncoding=UTF8&connectTimeout=60000&socketTimeout=60000

b,修改配置文件

[mysqld] 

 wait_timeout=10000

interactive_timeout=10000

c,进入 mysql 运行命令

SET GLOBAL wait_timeout=15000


2. 用户认证与项目规范

自己做了 cookie-session 方案的认证,很简陋,实际生产中是绝对不可能这么做的,对这方面的知识欠缺很多,需要多了解一下成熟的解决方案。

做东西还是不能土法炼钢。



明天的计划:

1. 部署到服务器 压测



返回列表 返回列表
评论

    分享到