文档章节

关于短网址的运营:如何处理庞大的短网址数据库

q
 qiya0701
发布于 2017/09/05 21:22
字数 715
阅读 35
收藏 0

FT12短网址运营已经超过5年,随着用户的逐渐增多,每天新生成的短链接数量接近20多万条。这是一个什么样的水平呢?也就是说每年新增短链接数量要接近1亿条。对于web服务器来说,没什么压力。但是一亿条数据对于数据库的调整真的是无比的艰难。目前FT12短网址数据库中总计有将近3亿条数据,三亿条数据全部查询一遍大概需要5秒左右。但是,对于短网址用户来说,打开一天短链接费时5秒是一个无法接受的时间。短网址的核心就是快,稳定,安全。如果无法缩短短链接打开时间,提升用户体验,那么这个短网址就是一个失败的产品。所以我们从以下几点对数据进行了优化。

首先,清理数据库中常年累月无人访问的短链接数据。在三亿条短网址中,有超过50%的短链接超过2年了没有任何访问记录。这些数据占用着资源,浪费了广大用户的时间,所以我们首先对其进行了备份,然后删除这些数据。这个操作一下子使短网址的数据库从3亿条缩减到了1.2亿条。(当然,我们事先备份了数据库,如果某些用户申请恢复这些短链接的访问,我们可以第一时间核实和处理)

其次,web服务器和mysql服务器分离,因此我们选择了阿里云的RDS数据库。这样做的好处有很多:其一,减轻服务器的压力,是网站的运营更加的稳定,短链接打开速度非常快;其次,RDS数据有实时备份功能,万一网站奔溃,也能及时恢复数据库,保证用户数据的安全。

最后,我们优化了数据库的字段和逻辑。原先设计的短网址数据非常复杂,功能繁多。但是我们发现很多功能基本上没有用户去使用。所以我们对其进行了精简。通过这个操作,我们将数据库的大小从2G缩减到了1个G,效果很明显。另外,我们也从web逻辑方面进行了优化,减少了数据库的访问频次,平均每条短链接的生成和访问能减少3次对数据库的请求。

经过了以上几个方面的优化了改进,目前FT12短网址绝对可以满足任何用户的需求。

原文地址:http://www.ft12.com/article_179.html

© 著作权归作者所有

q
粉丝 0
博文 17
码字总数 13731
作品 0
私信 提问
iOS 短链接调起APP页面

前言 上一篇《h5随意调起原生页面》中已经提到,app在运营过程当中,很多时候需要做一些推广活动,同时需要通过各种途径发布消息出去,比如通过app通知、公众号推送、群发短信。在这里,我们...

MyLee
2017/12/25
0
0
天心流水/Ourls

Ourls Ourls是一个基于发号和hashid的短网址服务,灵感来源于知乎上关于短址算法的一个讨论—— http://www.zhihu.com/question/29270034。 特征/Feature Ourls会根据sha1值来判断原url在数据...

天心流水
2015/09/22
0
0
微博短链接解析ShortUrl【PHP代码实现】

一、背景简介 短网址应用已经在各大微博上开始流行了起来。例如QQ微博的url.cn,新浪的sinaurl.cn等。我们在QQ微博上发布网址的时候,微博会自动判别网址,并将其转换,例如:http://url.cn...

幸福的猫猫
2013/03/07
880
1
短网址服务--Ourls

Ourls 是一个基于发号和 hashid 的短网址服务,灵感来源于知乎上关于短址算法的一个讨论 。 Ourls 会根据 sha1 值来判断原url在数据库中是否已存在,若不存在则新增记录后对记录 id 进行 ha...

天心流水
2015/09/21
2.2K
1
三步走!基于 Knative Serverless 技术实现一个短网址服务

作者 | 阿里云智能事业群技术专家 牛秋霖(冬岛) 短网址顾名思义就是使用比较短的网址代替很长的网址。维基百科上面的解释是这样的: 短网址又称网址缩短、缩短网址、URL 缩短等,指的是一种...

阿里巴巴云原生
09/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

基于CentOS7搭建GitLab

基于CentOS7搭建GitLab 12018.11.02 16:38:51字数 959阅读 3791 本文作者:蓝雄威,叩丁狼高级讲师。原创文章,转载请注明出处。 一、简介 Git Lab GitLab是利用 Ruby on Rails 一个开源的版...

linjin200
7分钟前
2
0
random生成随机数

随机生成0到100之间的10个随机数,然后使用冒泡排序将这10个数按从小到大的顺序排序 生成10个随机数 import randomnum = range(0, 100) # 范围在0到100之间,需要用到range()函数。nums...

彩色泡泡糖
10分钟前
1
0
kubernetes 环境搭建 —— kubeadm

主从节点需要安装的服务 Master 节点 Node 节点 etcd-master Control plane(如:calico,fannel) kube-apiserver kube-proxy kube-controller-manager other apps kube-dns Control plane(如:......

lemos
13分钟前
1
0
php将字符串中的中英文数字分割

$str = "php如何将字 符串中322的字母数字Asf f45d和中文_分割?"; $arr = preg_split("/([a-zA-Z0-9]+)/", $str, 0, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE); print_r($arr); Arr......

小小小壮
14分钟前
1
0
茑屋书店理解(一)

说到实体书店,你可能会想到两个字“难做”。一是电子书大为盛行,二是纸书作为标准品,完全可以在网上购买,因此国内许多实体书店的日子是举步维艰。但是在日本有这么一家实体书店,目前已经...

Idea
17分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部