有人说:我数据量大,访问量也大,怎么办?

燃烧的冰2020-02-20  3.1K+

这样问我,你叫我怎么回答捏?既然这么牛了,用 wellcms 花点钱找我呗。这回答 100 分。哈哈



wellcms 的诞生专门对付大数据量,高访问量的站点。


如果站点数据量真的很大,不付费给我,免费版 wellcms 也一样可以应对大数据量,高并发访问,wellcms 不怕你牛,就怕你牛不起来。这才是 wellcms 牛的地方,2.0 倾尽了我很多的心血。


wellcms 2.0 融入了很多你没有想到和遇到的元素,哪怕是你未来干大后遇到了这些问题,wellcms 依然可以迎刃而解这些难题。因为,这些元素都是经验和经历给出的答案。真正的经验是从实践中总结出来的,闷着脑袋想,是想不出来的,没遇到怎么能想到呢?又何来的解决方案?


下面统一回答一些用户的问题?


一、有人看到这段时间wellcms没什么动静,是什么原因?

答:一直没闲着,在开发应用中心,开发者中心,3月份官方上线这些功能。虽然关闭了评论和讨论,这样也好,少了很多声音,我可以静心开发。有bug请反馈到邮箱 wellcms#qq.com (#换@)


二、wellcms 附件可以分离吗?

答:把“吗”去掉。wellcms 不但可以分离附件,除了php和htm文件外,其他文件全部都可以分离到云储存。只需自己写好接口就行了。

upload 目录附件分离看这里 http://www.wellcms.cn/read-80.html

view 目录除了htm文件外,都可以分离 conf/conf.php 支持utf8的编辑器 notepad++也可以

'view_url' => 'view/' // 上传整个目录到云储存,然后修改自己的域名 http://static.domain.com/view/ 必须对应view目录


三、数据量大,访问量大怎么办?

解决访问量大,是综合问题,再这里我给出方向,其他的自己解决。程序能解决的,我都解决了。

有人会说生成静态文件,我不推荐生成静态,全部生成静态文件,硬盘占用多大?

以后页面修改,增加广告和搬家怎么办?是加硬盘合适,还是加内存合适?自己衡量


1.访问量大,毫无疑问的加带宽是必须的,配置使用CDN缓存策略。


2.配置 redis 或 memcached 缓存服务器解决,建立单独的 cache 服务器。wellcms 支持单独的 cache 服务器,与主程序分离。

分离之后内存加到多大合适呢?内存4G足够了,不够再加,wellcms 对热数据进行了缓存,非热数据会释放。如果并发很高的话,自己二开写个内存锁插件,以防穿透DB造成雪崩,不会写花点钱找我吧!


独立缓存服务器配置 conf/conf.php 文件 支持utf8的编辑器 notepad++也可以

'cache' => array(
    'enable' => true,
    'type' => 'redis', // 改成自己使用的缓存
    'memcached' => array(
        'host' => 'localhost', // 缓存地址,注意开启缓存服务器的远程访问权限 如果需要用户名和密码,自己加参数
        'port' => '11211',
        'cachepre' => 'well_', // 缓存前缀,可修改成当前使用的域名,缓存不冲突也可不改。
    ),
    'redis' => array(
        'host' => 'localhost', // 缓存地址,注意开启缓存服务器的远程访问权限 如果需要用户名和密码,自己加参数
        'port' => '6379',
        'cachepre' => 'well_', // 缓存前缀,可修改成当前使用的域名,缓存不冲突也可不改。
    ),


3.分离全站附件,使用单独的CDN域名和服务器缓存全站文件,具体前面已经说了,不在赘述。


4.如果用户量活跃的话,拆分session表到单独的服务器,wellcms 支持 DB 服务器群,单表拆分到独立服务器。具体查看修改 model/session.func.php


5.读写分离, wellcms 支持一主多从 DB 服务器群,配置好,程序自动读写分离,随机挑选从服务器,主服务器作为写入使用,从服务器作为读取数据。

具体查看 http://www.wellcms.cn/read-81.html


6. wellcms 所有的表都支持拆分单独的 DB 服务器群,具体请自行查看。


7.拆分 website_thread 表 views 字段到独立表或服务器,之后自行写插件 hook 函数 well_thread_inc_views($tid, $n = 1) 进行替换成拆分的独立统计服务器,后端输出数据时使用 well_thread_format(&$thread) 加载分离的数据。

对于在高并发中需要入库的数据:

<1>提交后直接创建或更新缓存数据 cache_set('key', array()) / cache_update('key', array('views+' => 1)) ,而后进入异步队列;

<2>使用异步队列完成入库,定时1分钟更新一次数据。


8.并发量非常高,服务器本身也需要做负载均衡处理。程序虽小,但所具有的功能都强悍,纯经验设计的架构,纯手工一行行敲打的代码。


支持付费咨询和定制服务,程序已尽量做到大道至简,保证了最原始的性能和扩展性。有开发意向的,可以研究程序,更欢迎应用中心上线后,开发者申请入驻,分享自己的成果。每一个支持 wellcms 发展的人,都会使 wellcms 这位美少女更加受欢迎。


四、wellcms 一台服务器支持多少个站点?

答:这么说吧。1核1G内存的配置,可以支持亿级数据,理论上每天轻松胜任 千万级别的访问 没有问题,前提是你的带宽资源足够。想安装多少个站点你自己决定,设置缓存不冲突就行,如何设置请查看使用手册。

转载请注明原文地址:http://www.wellcms.cn/read-83.html
0