关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » MySQL »MySQL支撑百万级流量高并发的网站部署详解

    MySQL支撑百万级流量高并发的网站部署详解

    2011-08-23 17:12:00 出处:ITJS
    分享

    MySQL支撑百万级流量高并发的网站的部署方法是该篇文章我们主要要介绍的内容,了解了这部分内容我们自己就能用MySQL来支撑百万级流量高并发的网站了,接下来我们就开始介绍这部分内容。

    1. MySQL服务器集群

    由于是小公司在资金和成本上都有所限制,而且在技术上也没有几个技术员接触过,所以这个方法自然就让大伙否决了。

    这里说说我个人的理解!做集群不但添加资费的开销,而且在技术上也有很大的挑战,对于我们公司目前的情况是不大现实的。集群无非就是把一台服务器的压力转接到两台或是多台服务器上,我是这么理解的,也许我理解有误,还请大家指教。

    2. 分而治之

    这个方法和集群差不多,不过是把统计的代码放在不同的服务器上跑,由于公司有不少配置低的服务器跑几万到几十万IP还是没有问题的,我们可以把几百万流量分成十来个几十万的量分而统计。

    优点:充分的利用了现在的资源,解决了目前的问题。

    缺点:这样的方法不是长久之计,迟早还是会出问题的。而且在统计数据的时候比较麻烦。

    3. 统计代码的修改

    由于之前采用的是在插入数据之前加以判断,这个IP是否存在,来路等的处理,无形中增加了服务器的压力,所以大伙把统计代码改成来一个就插入数据库,不管三七二十一等以后在处理。

    这个方法基本上把当天的数据保留下来了,可是在处理的时候由于数据量的庞大,来来回回还是把服务器跑死了,而且在插入的时候由于当时设计数据结构的时候留有的索引,也大大的消耗了不少的服务器资源。

    那么把索引去掉到最后处理的时候又是老慢的,得不偿失。

    4. 统计方式的修改

    最后这一个方法,效果非常的明显。那是什么方法呢!

    这里就主要介绍这个方法:

    A、保留原用的数据结构不变,并把所有的数据按一定的结构存入文件

    结构:可以是xml,json,也可以是你自己想的任何有规律的数据排放。

    例如:

    1) 221.2.70.52,http://www.baidu.com,windowxprn

    2) 221.2.70.52,http://www.baidu.com,windowxprn

    写入文件:fopen,fwrite no 这里介绍一个非常好用的技巧,也许大家都知道,但是像我这样的菜鸟大概都不知道,那就是用error_log,这不是写错误日志的吗 对就是他,非常方便。

    格式:

    1 error_log("内容", 3, "/date.dat");

    这里我就不说他的具体用了,不明白的朋友可以查一下手册。

    B、数据文件的命名

    为什么这里要讲文件的命名呢 如果就一味的把数据的写入文件不作任何的处理那么他和直接插入数据库有多大的区别呢 那么我们所作的一切都是无用功了。

    首先是在时间的利用上:date(‘YmdH’)得到的值是如:2008121112这有什么好入,这样一来这个数据就是一个小时一个文件必免了文件过大,而且不用去判断自动生成。

    IP的应用:由于在很多数据上都是一个IP操作的,所以把相同IP的数据放在一个文件里在后面的处理就非常方便处理。请看后面的介绍,这里我们取IP成三位为文件名字的一部分。

    C、数据的导入处理

    通过以上两位的操作当天的数据会一个不少的保留下来,接下来怎么处理其实并不是很重要了。但是这里还是讲讲我的想法。

    入库前处理:

    前面讲到把IP三位相同的放一个文件就是为了入库前到它们进行处理,首先可以用最笨的方法把数据拆成N个数据。在进行重复数据的删除。

    如果一个IP浏览多页那么PV在这里就可以得到统计,并把访问的页面进行处理,组成新的数据。

    导入方法:

    这里要介绍一下数据的导入方法:1 $sql="LOAD DATA INFILE '".$file."' INTO TABLE `test` FIELDS TERMINATED BY ', ' LINES TERMINATED BY 'rn'(2 3 `time` , `md5`4 5 )";就这一个语句,在导入几十万数据的时候可以说是十分快速的,用法我这里也不过多介绍了,大家有不明白的可以查手册,所以说解决数据库的瓶颈的办法不定要加设备,也不一定要换数据库,只要换一个思路就能解决不少问题。

    以上就是MySQL支撑百万级流量高并发的网站的部署方法,该篇文章就介绍到这里了,希望本次的介绍能够对您有所收获!

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    Cornell大神Kleinberg的经典教材《算法设计》是最好入门的算法教材

    从 Microsoft 下载中心安装 Windows 7 SP1 和 Windows Server 2008 R2 SP1 之前要执行的步骤

    Llama 2基于UCloud UK8S的创新应用

    火山引擎DataTester:如何使用A/B测试优化全域营销效果

    腾讯云、移动云继阿里云降价后宣布大幅度降价

    字节跳动数据平台论文被ICDE2023国际顶会收录,将通过火山引擎开放相关成果

    这个话题被围观超10000次,火山引擎VeDI如此解答

    误删库怎么办?火山引擎DataLeap“3招”守护数据安全

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术热点

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。