网站功能还没做完,这两天在赶工。 同时我在想一个问题,我才来公司半个多月,让我做出商城,我拿ecshop 按他要求,做了不少二次开发,功能基本出来了! 昨天又要准备在圣诞搞秒杀。刚开始我想着直接访问mysql 数据库为0的时候提示秒杀完,这么的挺简单。 但是后来领导说他在全市的荧幕上全部放了网站的广告。这下我愁了,访问量一下要猛增, 秒杀访问mysql肯定不实际了,那要用什么来进行秒杀?网上大概查了下 memcache? 队列? 锁表? 哪个好点,顺便给我案例什么的!万分感谢。
但是这还不是最头疼的问题 ! 问题是公司有自己服务器,就是个03 没人会弄Linux。本来前期想着直接在windows03上装个 集成wamp环境 运行得了,这下网站要承载这么大负荷。 大家说能不能这么用? 效率会怎么样?直接用iis呢? 服务器会不会一下瘫掉? 大家给出出招啊。 我该怎么办?
但是这还不是最头疼的问题 ! 问题是公司有自己服务器,就是个03 没人会弄Linux。本来前期想着直接在windows03上装个 集成wamp环境 运行得了,这下网站要承载这么大负荷。 大家说能不能这么用? 效率会怎么样?直接用iis呢? 服务器会不会一下瘫掉? 大家给出出招啊。 我该怎么办?
2 不建议用集成环境,不建议用windows服务器。
linux + nginux/apache + mysql + php + memcache或者其它
调优的工作比较关键。
3 压力测试
这和你的服务器的硬件也有关系的。
放弃一些无关紧要的垃圾功能, 适当考虑一下流量增大的情况就行了, 估摸着也大不到哪儿去.....准备些特殊情况下的补救方案.....先和头说清楚情况....不要闷着....
现在云有有win2003的...可以弹性升级 主要是...
apache/nginx、mysql、php参数配置也调整合适。
if(rand(0,100)<99){
echo "秒杀结束";
}else{
//process
}
2 用mysql事务,要不然你秒杀的很有可能数据不准确
a服务器做数据库服务器,b读取a的数据用作php解析同时提供给广告看板使用,原来的那台让他读取a的数据库
b和原来那台加上memcache,把内容读取出来不要频繁操作数据库.
先把程序部署上去,db要换成redis或memcached,最次也要用mongo。把db单独放到一台机器上。然后对你的秒杀页面进行压力测试,得到qps。然后估算下你们网站在秒杀那一刻的pv大概有多少。用pv除以qps,就是你需要增加的放网站程序的服务器数量,db就弄一台吧,先不搞主从、主主那么复杂的事了。而且如果是redis或memcached的话,单台应该也是可以承受的住的。计算完毕后,你的架构就是多台web服务器对一台memory db。然后给web服务器做个lvs。如果不会弄lvs。你可以换一种架构,那堕胎web服务器上只装php-fpm,再弄一台服务器装个nginx做个集群,所有php-fpm机器都指向这台nginx。nginx的反向代理也可以实现复杂均衡。不过没有lvs专业。把服务器架构搞定了,再去搞技术细节。如果这些所有工作都你一个人来做的话,还有15天,够你受的。
这个方法好,学习了!
毕竟秒杀运气毕竟重要,当然如果只是那么几个人抢,那就坑爹了。