网站功能还没做完,这两天在赶工。  同时我在想一个问题,我才来公司半个多月,让我做出商城,我拿ecshop  按他要求,做了不少二次开发,功能基本出来了!  昨天又要准备在圣诞搞秒杀。刚开始我想着直接访问mysql  数据库为0的时候提示秒杀完,这么的挺简单。  但是后来领导说他在全市的荧幕上全部放了网站的广告。这下我愁了,访问量一下要猛增,  秒杀访问mysql肯定不实际了,那要用什么来进行秒杀?网上大概查了下 memcache? 队列? 锁表?  哪个好点,顺便给我案例什么的!万分感谢。  
   但是这还不是最头疼的问题  !  问题是公司有自己服务器,就是个03   没人会弄Linux。本来前期想着直接在windows03上装个 集成wamp环境  运行得了,这下网站要承载这么大负荷。  大家说能不能这么用?  效率会怎么样?直接用iis呢?   服务器会不会一下瘫掉?  大家给出出招啊。  我该怎么办?

解决方案 »

  1.   

    1 先明确可能的最大并发数,根据这个选择软硬件。
    2 不建议用集成环境,不建议用windows服务器。
      linux + nginux/apache + mysql + php + memcache或者其它
      调优的工作比较关键。
    3 压力测试
      

  2.   

    如果用windows的话,自己配置环境更在linux下的环境效率会差多少?  很多吗?  因为现在的瓶颈是没有一个会linux配置的人。这不太好弄,时间又这么短还有10天的时间,我还没有开发秒杀等功能!  所以来不及。
      

  3.   

    没用过windows的服务器,你可以用压力测试工具试下。
    这和你的服务器的硬件也有关系的。
      

  4.   

    确认有大流量?有的话 赶紧去弄台好点的云主机吧 然后看看实际流量情况进行在线升级.数据库可以考虑RDS...当然现在要你准备这些可能有点晚了。先把服务器给解决了吧
      

  5.   

    云主机估计是不可能了,只能在自己服务器上,现在没有回linux的,如果考虑到只在windows上的话!   如果,我是说如果不会有大流量,那我做秒杀需要用mecache吗?   因为之前没用过mecache,所以这么短时间我还得研究他,还要其他乱七八糟一系列的问题,我怕来不及!   如果做抢购秒杀,只限定秒杀一台手机,多人同时下单,直接访问mysql的情况下,判断该库存为0的时候提示“秒杀结束”会不会出现两个同时秒杀成功的情况?  直接访问mysql最大能承载的负荷大概有多少个客户端?
      

  6.   

    MC  KVDB都上吧  实在不行 就只能优化查询了  还要多做存储过程 最好数据服务器和网站服务器分离.
      

  7.   

    圣诞还有几天啊, 这时候从windows转linux? 更何况网站还没做完? 你就原来怎么着就怎么着吧.....赶紧把功能先做好, 
    放弃一些无关紧要的垃圾功能, 适当考虑一下流量增大的情况就行了, 估摸着也大不到哪儿去.....准备些特殊情况下的补救方案.....先和头说清楚情况....不要闷着....
      

  8.   


    现在云有有win2003的...可以弹性升级 主要是...
      

  9.   

    最快的解决方法,搞台牛B的机器就完事了。
    apache/nginx、mysql、php参数配置也调整合适。
      

  10.   

    这种情况,我会随机踢掉大部分用户  只处理少数请求,这样服务器压力就小多了
    if(rand(0,100)<99){
    echo "秒杀结束";
    }else{
    //process
    }
      

  11.   

    1  肯定要做缓存,要不然服务器肯定给你弄爆。 
    2  用mysql事务,要不然你秒杀的很有可能数据不准确
      

  12.   

    最简单的做法是加两台服务器
    a服务器做数据库服务器,b读取a的数据用作php解析同时提供给广告看板使用,原来的那台让他读取a的数据库
    b和原来那台加上memcache,把内容读取出来不要频繁操作数据库.
      

  13.   

    或者你把apache换成nginx,用nginx做数据分流也行.
      

  14.   

    建议用CentOS 5.5系统、再选用lnmp 0.9一键安装包,半天就可以搞定。我也是搞windows的,现学的linux。
      

  15.   

    这不怪你,怪老板吧。也该给他点教训。如果pv量真的够大,你们这站肯定会瘫。异想天开总是要付出代价的。想出什么歪点子自己一个人就决定,也不事先打声招呼跟别人商量下。这还几天就圣诞了。如果你有胆识,就直接去找老板,告诉他你们现在的条件不具备,一是硬件不行,二是人手太少,三是时间不够。因为短期内要做大量工作。如果你决定默默忍受,那就按照下面的步骤办吧。我劝你一句,这公司没啥前途,流程一塌糊涂,老板异想天开,长期干下去你会被他们搞死的。能撤赶紧撤吧。你现在首先面对的问题,不是技术细节上的,而是服务器架构,要解决高并发的问题,首先要从服务器架构入手。根据我很早以前的测试,在windows上操作mysql,增删改查的效率是linux上的1/10。测试时我在windows上用的还是apache,还不是iis。所以你必须换linux,然后装好nmp,用nginx,不要用apache了。你们的服务器硬件什么配置?配置不好让老板掏钱买机器,实在不行就多弄几台机器做负载均衡。
    先把程序部署上去,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天,够你受的。
      

  16.   

    时间不紧,弄个阿里云服务器,然后申请免费环境配置。如果时间紧赶紧去买个Linux 虚拟空间。否则……,你就等着你们那台小霸王Win03宕机吧。
      

  17.   

    其实从windows转linux也没什么。我们也是这样,一个网站项目前期,先是在windows2003上用apache跑试用,几十个人完全没有问题。后来,由于要推广应用(这样才能赚钱),几百人一用立马死掉了。万般无奈,只好换linux,这东西搞开发的几个哥们谁也没玩过。不过,好在有度娘,不懂就baidu,经过几天折腾,终于把linux装好了。初学装linux,建议用CentOS5.5,比较容易成功。
      

  18.   

    普通的服务器,每秒几百个连接是能撑得住的,仓促换linux的话,不见得能行,毕竟楼主也说了,公司里面没有能搞定的,万一有问题也不好解决。
      

  19.   

    memcache ……& 楼主的情形让我想到了很多年前的自己,赶鸭子上架。
      

  20.   

    PHP code?12345if(rand(0,100)<99){    echo "秒杀结束";}else{    //process}
    这个方法好,学习了!
    毕竟秒杀运气毕竟重要,当然如果只是那么几个人抢,那就坑爹了。
      

  21.   

    。让老板或者自己找个外援搭起linux+nginx,两天足够了吧。