面试时问我如果用mysql数据库并且只有一台服务器, 100万的并发数,该怎么处理????我当时说,没遇到过,呵呵,虽然面试完了,但是想来找个高手请教一下,顺便讨论一下,以后再问也知道了,呵呵

解决方案 »

  1.   

    没什么办法,只能加大各个参数,不过 1,000,000 的并发,一台服务器,也有些太复杂了。
    看看其它DBA有什么建议。
      

  2.   

    首先mysql对外提供的连接是有限的,那只能用中间件解决。其次。。100W并发。。发发,用主从服务器,更新放到主服务器,查询放到从服务器上做,不过这用了多台,但如果你说了这个思路,那么会大幅加分
      

  3.   

    又没有说多少数据量,说不定就是访问一个HEAP表,表中只有1条数据,这样都有困难?改好my.cnf,有足够的内存,网络带宽就行了。
      

  4.   

    呵呵,我觉着你至少会问出很多问题,因为,这个题目所提供的信息量很少,比如,100w的并发量是怎样的sql,表数据量多大,什么样的服务器,小型机?等等如果是100w的并发连接数,1台服务器肯定是满足不了的,面试人主要是想听到你分析问题的过程,解决问题的思路,千万不要交白卷啊
      

  5.   

    数据库端100W吗?
    我觉得他指的是程序端的。
    单纯的数据库并发需要超强的单SERVER!
      

  6.   

    100w的意思应该不是只并发,一台机器那个是达不到的
    单就一个网卡来说,一秒能处理2w多个包
    但是可以考虑在一台机器上搭建多个mysql实例,每个实例运行一个端口,这样一台机器可以处理尽可能多的用户,具体数字不太好评估
    但是起码可以把网卡的负荷给用满
      

  7.   

    不太可能。能否 加memcache 之类的缓存工具