最近由于某大型网站社区论坛运行效率比较低用户反馈论坛有些卡需要对系统进行优化,论坛性能影响了公司的形象还有网站的流量,当然这也会影响到公司的收入,而且后期还需要长期维护网站的社区论坛服务。

1:并发访问的人多,其实访问的人少,偶尔才被请求几次页面,那是性能一般不会受到多少影响,也没什么技术高要求凑合能用就可以了。

2:数据量庞大,访问的人多了,自然数据积累也多了,持续几年每天上千人留言后,这数据量就很庞大了。

3:系统稳定运行了好几年,不能轻易修改,积累了不少个性化的业务数据、个性化的程序逻辑,也无法说更换论坛就可以更换论坛了,把这些逻辑都重新编写一遍也不是那么容易的。

4:普通ASP编写的程序,技术有些老旧,不太好进行缓存优化,一些比较好用的asp.net的技术积累派不上用处。

5:硬件服务器成本需要控制,若是没有预算限制,购买个超级强大的硬件服务器,程序写得稍微垃圾也没啥大问题,但是你这次购买了比较强大的服务器,1年后还需要买更强大的服务器才可以抵御性能的下降,这个办法几乎是无节制的,若购买硬件服务器的费用节省了,可以聘请更优秀的开发人员为公司服务了,那不是更理想了。

其实这些事情对专业的DBA来说是小菜一碟,对我们平时以开发为主的程序员来说,优化上千万条数据有时候就力不从心了。很多小公司难养得起一个专业数据库DBA,专业DBA也不愿去平时没事干的小公司工作,就是去了也会慢慢的水平退化,因为平时没事情干没啥动力挑战一个接一个的极限。

遇到的难题主要有这些:

1:当服务器有性能问题时,无法远程操控。

2:现有的业务系统不能影响。

3:当服务器有性能问题时,做一个动作优化很困难,无法连续做好好几个动作。

4:适当数据库量庞大时,管理器无法用,只能通过编写脚本进行处理。

5:数据量庞大时,一个动作可能需要2个小时才能完成,若一晚上做错几个动作,白忙一晚上了。

6:对现有的业务系统不熟悉。

7:对现有的论坛的功能,性能都不熟悉。

8:对ASP程序已经很陌生了。

9:天天在经营的网站不能被停机。

10:时间紧急,需要在几天时间里处理好。

11:没有强大的测试环境,不大可能有那么多好服务器。

12:数据量大,本地没数据,数据都在服务器上,下载30G数据也不容易。

13:系统的功能也多,SQL语句也多,某个语句出错后起连锁反应,整个系统就崩溃,无法调试,无法控制,相对棘手一些。

14:别人能相信你,甚至鉴定的相信你,你有能力优化大数据的性能,也是需要勇气的。

解决系统性能的方法,主要通过下面的方式:

1:周末加班,因为周末有安静的环境可以分析数据,网站的流量也不大,恶劣的影响少一些。

2:深夜导数据,服务器性能好,效率高。

3:深夜优化数据结构,服务器性能好,效率高。

4:找帮手一起协助,有时候1个人顾得里前面顾不来后面,人多力量大,特别是能干活儿,技术过硬的家伙。

其中一个大表里有13551695条数据,已经彻底上千万条了。

检查服务的各项性能

监视服务器上运行得所有SQL脚本,重点优化性能有问题的语句,通过修改ASP源程序进行优化。

在查询分析器里,分析语句的各项性能

修改数据类型,尽量用更短的数据类型,减少数据库的磁盘占用空间

由于我们采用的是完整备份,这部分也跟金额没多大影响的数据库,所以采用简单模式,减少日志容量

收缩数据库,减轻硬盘占用的多余空间,备份数据库时可以节约一些硬盘空间

对大数据进行了分区处理,这样也可以减轻数据库的压力,合理的分区可以显著提升系统的性能。

索引有碎片时可以重新进行索引,提高数据库的运行性能

经过优化后,数据库的大小变成了原先的1/3,从接近30G,变成了10来G了,后来优化的到10G了。

经过3天的优化,服务器的性能消耗终于降下来了,不会100%了,谢天谢地,总算没白折腾3天,也算可以给公司一个交代了,昏睡了整整一天,才稍微缓过劲儿来,年纪大了,不能总干通宵了。真不是25岁那个时候了。

这个论坛书库的服务器也很强大了,有16个CPU了,12G内存了,否则还真跑不来这么多大的并发大数据的需求。

总结:

01:干活需要有激情,不能逃避责任,需要勇于挑战一个个职业上的极限。

02:前10年的技术积累,经验积累是为了将来10年的工作打基础的,没前10年的努力,不会有今天的小成功。

03:技术上露一手的机会不是天天有,但是露一次可以解决2-3年的问题。

04:需要有良好的身体,通宵干活,持续2天,也打不垮的身体,当然累了需要好好休息一下。

05:要有坚强的意志,遇到什么困难都不能慌,有计划有目的的一个个摆平,你的意志倒下,别人都跟风全趴下了。

06:不仅要能说,能写,更需要能经得起实战,是骡子是马出来溜一溜就知道了。

07:水平再好,水平再差,需要有表达能力,能抓老鼠就是好猫,解决问题了就是技术牛人。

08:别人怎么打击怎么鄙视怎么辱骂,那是别人的事情,自己的日子需要自己过,走自己的路让别人打击去吧,需要有强劲的内心,经得起任何打击、开开心心过自己的日子

09:写文章的好处就可以得到网上各种高手的指点,更容易得到提高。

1300多万条数据30G论坛大数据优化实战经验小结的更多相关文章

  1. 使用rowid抽取数据方法以及大数据量游标卡住的应对

    平时工作的时候,经常会遇到这种事情,从一个大表A中,抽取字段a在一个相对较小B的表的数据,比如,从一个详单表中,抽取几万个用户号码的话单出来.这种时候,一般来说, 做关联查询: create tabl ...

  2. Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

        你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:1 ...

  3. bat坐拥大数据。数据挖掘/大数据给他们带来什么。

    阿里巴巴CTO即阿里云负责人王坚博士说过一句话:云计算和大数据,你们都理解错了.   实际上,对于大数据究竟是什么业界并无共识.大数据并不是什么新鲜事物.信息革命带来的除了信息的更高效地生产.流通和消 ...

  4. 第二篇:智能电网(Smart Grid)中的数据工程与大数据案例分析

    前言 上篇文章中讲到,在智能电网的控制与管理侧中,数据的分析和挖掘.可视化等工作属于核心环节.除此之外,二次侧中需要对数据进行采集,数据共享平台的搭建显然也涉及到数据的管理.那么在智能电网领域中,数据 ...

  5. Oracle数据库--解决单张表中数据量巨大(大数据、数据量上百万级别,后查询,更新数据等耗时剧增)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/QQ578473688/article/details/54561397 思路1:采用备份表 备份表中 ...

  6. Hadoop大数据学习视频教程 大数据hadoop运维之hadoop快速入门视频课程

    Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理适用人群有一定Java基础的学生或工作者课程简介 Hadoop是一个能够对大量数据进 ...

  7. 利用 StartLoadingStatus 和 FinishLoadingStatus 读取数据特别是大数据时增加渐隐渐显等待特效 - Ehlib学习(三)

    代码很简单: DBGrideh.StartLoadingStatus(' Loading ... '); Sleep(500); DBGrideh.FinishLoadingStatus; 做下变动: ...

  8. chinacloud大数据新闻

    2015年大数据发展八大趋势   (0 篇回复) “数据很丰满,信息很骨感”:Sight Machine想用大数据的方法,打碎两者间的屏障   (0 篇回复) 百度携大数据"圈地" ...

  9. 大数据及hadoop相关知识介绍

    一.大数据的基本概念 1.1什么是大数据 互联网企业是最早收集大数据的行业,最典型的代表就是Google和百度,这两个公司是做搜索引擎的,数量都非常庞大,每天都要去把互联网上的各种各样的网页信息抓取下 ...

随机推荐

  1. HTML5 drawImage性能问题

    最近做游戏发现,为了节省HTTP请求,把很多组动画放到了一张图片上,也就是传说中的雪碧图,但是用drawImage从图片上截取一部分绘制在canvas上时会非常慢. 我的图片尺寸为5000*7000 ...

  2. HTML5练习3

    1.输入问题,判断答案,按钮倒计时 主要代码: <!doctype html> <html> <head> <meta charset="utf-8 ...

  3. poj 2236 加点 然后判断某两点是否连通

    题目大意:给你N台电脑,从1-N.一个数字,表示两台计算机的最大通信距离,超过这个距离就无法进行通信.然后分别告诉这些电脑的坐标,接下来有两种操作,第一种O表示这点电脑修好,第二种S,表示测试这两台电 ...

  4. 记在VMware虚拟机中对网站进行性能压力测试的经历

    由于本次测试,仅仅是对静态网站首页进行的测试,所以没有涉及到MySQL数据库的性能监测 服务器基本配置 webbench测试工具 Linux上一款优秀的web性能压力测试工具.webbench最多可以 ...

  5. 配置SSH服务使用证书登录Ubuntu服务器

    根据项目要求,需要将项目迁移到Linux系统上,作为测试,选用的是阿里云服务器,1核CPU,1G内存(没错就是这么穷),操作系统Ubuntu 16.04 64位.当然其实如果使用阿里云服务器其实是不需 ...

  6. jquery下载,实时更新jquery1.2到最新3.3.1所有版本下载

    描述:jquery下载,实时更新jquery1.2到最新3.3.1所有版本下载 https://www.jb51.net/zt/jquerydown.htm (注意:jquery-2.0以上版本不再支 ...

  7. chrome使用技巧(转)

    原文:http://www.cnblogs.com/liyunhua/p/4544738.html 阅读目录 写在前面 快速切换文件 在源代码中搜索 在源代码中快速跳转到指定的行 使用多个插入符进行选 ...

  8. ZOJ.3551.Bloodsucker(期望DP)

    题目链接 \(Description\) 有1个吸血鬼和n-1个人,每天有且只会有两个人/吸血鬼相遇,如果是人与吸血鬼相遇,那个人会有p的概率变成吸血鬼:否则什么也不发生.求n个都变成吸血鬼的期望天数 ...

  9. KVM基于X86硬件辅助的虚拟化技术实现机制【转】

    内存虚拟化 Shadow Paging 作者 Shawn 在其中文博客中很详尽地介绍了 KVM 在只支持一级分页的 x86 平台上用 “Shadow Paging”进行 MMU 虚拟化的实现,由于目前 ...

  10. 关于输出螺旋矩阵的demo

    输出类似 1 2 3 8 9 4 7 6 5 主要难点是如何找到表示的算法 我的理解是,先生成一个n*n的矩阵,然后再往里面塞数字,而塞的方法分别有四种:由左往右,由上往下,由右往左,由下往上,没塞完 ...