前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实习中结

实习中结

作者头像
用户1394570
发布2018-08-08 10:10:46
3590
发布2018-08-08 10:10:46
举报
文章被收录于专栏:carvencarvencarven

罗嗦


开始实习至今也有差不多有个月了(实际工作时间是一个多月),见识了很多新的事物,学到很多新的知识。公司搬到了T.I.T创意园。。。 等等,很多感觉是自己一个人在学院撸码get不到的。 感觉自己的心态有了变化, 最近要准备 BAT 的面试, 那是我的梦想,所以感觉这段实习大概要结束了,做一个中期总结吧。

实习的时间, 工作很不稳定, 有时候很空闲, 有时候有任务了, 就要加班到凌晨, 这都是理解的, 毕竟自己在学校做外包的时候,也会遇到各种紧急状况。 空闲的时候,就自己一个人上网学习, react,ES6的相关知识, 我也是在这段时间吸收的。

收获


收获很多, 特别是近期的一个项目 — 微信好友关注度的统计, 说真的, 我没预想到这个项目的访问量会那么大。 一天的访问量(PV)达到了330万,访问人数(UV)也达到了98万。要不是紧要关头,数据库挂掉了,数据很可能上升到100万UV/日,每一次访问基本都要插入数据库,并查询大量集合(mongodb) 如此,我也正式见识了性能带来的问题,以前的东西,访问量太少了,根本感觉不到性能带来的影响。

逻辑处理

代码的处理逻辑, 在人数 2000UV/分的时候,做了一次梳理, 将一些向自己服务器调用的请求,引向了另外一个服务器,请求数基本减少了一半(可怕)。 在后台的定时任务, 将打查询任务分成了很多个小查询任务,因为是后台定时任务,不需要考虑响应时间(没有用户在等待),分成小任务,减轻mongodb的压力

数据库处理

上面有谈到一个分子任务处理。 还有就是 分表处理, 有一个集合每一次访问都要插入数据, 想想一天 330万的访问量,这个集合非常大了,所以前面说到数据库服务器挂掉了,也是因为这个集合太大了 所以,我们后来做了分表处理,用一定的关联性(比如时间段),将一个大集合分成很多个小集合,这样子,数据库的压力大减

由于用到的mongodb数据库, 一开始寻找的数据库解决方案是 读写分离 , 或者 主从数据库,但是应为连接问题,最终分表处理。虽然没有用到这些技术,但是至少也有了认知 数据库索引,好吧,这个是服务器管理者,我们的ceo做的, 数据库方面的优化,基本都是他在动手处理。 数据库索引,我没看到他是怎么处理的, 以后一定要学习,数据库查询的性能飞涨

服务器优化

用的是nodejs 的 express , 一开始使用 单线程的 ,想着用pm2启动,挂了也会重启,就没有写cluster,然而,总算见识到,cluster的作用并仅仅是防止线程突然挂掉, 是真正的能够提升性能(使用后cpu所有核利用率基本100%)

nginx负载均衡, 看了一眼ceo的ngnix负载均衡设置, 指向 ip 和设置 weight,可以做到把用户请求 分摊出去, 用多台服务器处理。

总结

先那么多啦, 学了很多

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 罗嗦
  • 收获
    • 逻辑处理
      • 数据库处理
        • 服务器优化
          • 总结
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档