5000万数据分页的优化交流

燃烧的冰2018-10-30 1194

wellcms 目前对单条读取,哪怕对单表10亿数据读取单条仍然是0.0x秒,开启缓存后仍然奔向0.00x秒。


超过千万级数据分页方面,一般企业是限制读取100页后的内容,比如百度,最多就给你翻到70多页。我也推荐的限制翻页数量,因为正常情况下,没有人会翻这么多页,除非采集你的站。


目前 wellcms 默认程序在百万级翻页没有很大问题,在千万级数据时分页会比较慢,差一点的虚拟机可能会崩溃,不过用虚拟机还能干到千万级数据量的站长,实在牛的不行了。


如果wellcms对于千万级翻页慢,至少还能打开,其他同类型的软件我不评价,请先灌1000万数据,在不分表的情况下,自己去后台打开列表试试,然后来这里告诉我你的体验。


本地电脑测试i3处理器,机械盘,4G内存,对于5000万数据翻页

在没有优化的情况下1页20条,翻到80万页单次运行时间

下面是优化过的,任意翻页时间均非常优秀,如果是固态盘情况下会奔到0.00x秒,无奈作者苦逼的只能到这种硬件了,至今这台破电脑还是5年前组装的,唉,好穷啊。

对于有特殊需要单独找我优化,此项属于收费服务。一般站点有几十万数据很了不起了。有百万级数据,您再不施舍我点,就说不过去了,怎么说程序都免费用了呀。^_^

最新回复(7)
  • cisgender2018-10-30
    2

    wellcms 性能 的确优异,本机测试千万级别数据下速度杠杠滴。

    本帖介绍了海量数据下列表页的优化,但这个级别下搜索也是个大问题,不知道全文搜索的性能如何?还是需要整合xunsearch这类引擎?

    因为想采集一个英文数据库,大概有3500万条摘要,故有此一问,还请冰哥有空回复一下。

  • 燃烧的冰2018-10-30
    3

    这么大的数据量依靠mysql全文搜索不现实,只能整合其他搜索,sphinx也不错

    话说这么大数据,还整搜索那不是找罪受吗?

    服务器硬盘得按TB计算了,这样的业务还需要搜索,那业务逻辑需要调整呀。

  • cisgender2018-10-30
    4
    到不了TB,每篇只有几百字的摘要。文献库就是靠搜索的呀,类似于 www.chinapubmed.net 这个是用xunsearch的,我看速度还行
  • 燃烧的冰2018-10-30
    5

    xunsearch肯定不行呀,所以我推荐sphinx呀。

    Sphinx,Xunsearch都可以基于MySQL,都是基于C/C++开发的。Xunsearch是国内开源团队基于国外的Xapian开发。

    单一索引最大记录
    ------------------
    Sphinx: 1亿条记录

    建立索引的速度
    ------------------
    Sphinx: 100万条记录/3~4分钟,1000万条记录/50分钟内
    Xunsearch: 1万条距离/4.14分钟

    查询速度
    ------------------
    Sphinx: 1千万条记录下为0.x秒(毫秒级)
    Xunsearch: 100万条记录为0.5秒

    分布式搜索
    ------------------
    Sphinx: 支持
    Xunsearch: 未发现相关文档

    对中文支持
    ------------------
    Xunsearch > Sphinx,Xunsearch支持拼音搜索

    使用简单化
    ------------------
    Xunsearch > Sphinx

    还是根据自己项目需要,Xunsearch比Sphinx要容易些,开发周期相对也短。一般没有特殊需要没有人愿意搞Sphinx。

  • cisgender2018-10-30
    6

    我是在xunsearch的论坛上看到这个站长说xunsearch速度很快,论坛签名就是我上面提到的网站,的确速度还行。

    我闲下来就在纸上画画布局,以及参观类似的网站,就等发几篇SCI论文拿到奖励后请冰哥操刀开发呀。


    另,数据到3500万的情况下,如果搜索用的频数很高,数据库用PostgreSQL是不是比用MySQL牛逼?

  • 燃烧的冰2018-10-30
    7
    感谢关照。

    PostgreSQL虽然很强,但mysql8.0现在也可以了,不过还是看项目是否有那个必要。

    如果用其他搜索的话,mysql足够了,过亿数据照样玩。
  • chinapostm2018-10-30
    8
    确实 目前我用的就是Sphinx 但是不是用的wellcms ,一直关注着希望整合一下Sphinx 
返回
发新帖