这样问我,你叫我怎么回答捏?既然这么牛了,用 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内存的配置,可以支持亿级数据,理论上每天轻松胜任 千万级别的访问 没有问题,前提是你的带宽资源足够。想安装多少个站点你自己决定,设置缓存不冲突就行,如何设置请查看使用手册。