最近用AJAX做了个分页读取数据,单机测试了一个小时,不停的点都没有问题,但同一个局域网的多个用户同时的访问服务器(读本地调试没问题)的时候(有时几分钟,有时几个小时),会出现读取数据失败(之前是返回datatable,后面换成string),然后整个网站都访问不了,服务器的远程连接也连接不上了,注意,这个时候,其它IP还是可以访问网站的!过几个小时之后,又可以访问网站,但访问一段时间后(有时几分钟,有时几个小时),又不能访问,如此循环,我很郁闷,想问问大家,这种情况是程序的问题还是服务器那边的问题,程序又是哪里出了问题,服务器又会有哪些问题呢?坐等大家顶贴!(不介意也可以测试一下网站:www.txmother.com,分类导航上弹出层跟分页都是用AJAX做的)

解决方案 »

  1.   

    看下cpu 以及进程 内存。确定下问题。
      

  2.   

    这个不好说,应该是程序的问题。
    ajax可能用多了,服务器负担加重了。
    网站用的静态方法太多了
    内存没有即时释放
      

  3.   

    这个不好说,应该是程序的问题。 
    ajax可能用多了,服务器负担加重了。 
    网站用的静态方法太多了 
    内存没有即时释放 
    -------------------------------
    分页主要是连接数据次数很增多,返回数据都是在客户端处理!服务器负担太重的话,为什么单只是我这个IP不能访问呢?我之前也想过这个问题,是不是服务器防火墙把单个IP的流量做限制,但我询问万网那说,没有!迷惘
      

  4.   

    我也有想过个这问题,如果是程序问题的话,刷新一下应该就可以访问了呀~问题现在是网站不能访问的时候,服务器远程也不能连接!其它IP访问连接都没有问题!我现在的想法是.可能我在的局域网用的同事比较多,单个IP的流量超过了服务器的限制,所以暂时拉入黑名单,过几个小时又可以访问!
      

  5.   

    但同一个局域网的多个用户同时的访问服务器(读本地调试没问题)的时候(有时几分钟,有时几个小时),会出现读取数据失败(之前是返回datatable,后面换成string),然后整个网站都访问不了,服务器的远程连接也连接不上了,注意,这个时候,其它IP还是可以访问网站的!你这个情况描述的有点诡异了,局域网不能访问了,远程也连接不上了,其他IP还是可以访问,这种情况不太可能啊
    你考虑的这个原因,单个IP的流量超过了服务器的限制,所以暂时拉入黑名单,我觉得这个也不可能,服务器没这么智能,会限制当个IP的流量给我的感觉,你很可能ajax取数据后,是不是什么连接没释放,造成了连接池满
    或者是取的数据太多,也没有做精简,导致网络堵塞了?建议你做个压力测试吧,个人感觉和程序效率有关,和网络没什么关系
      

  6.   

    是的,现在有关程序的优化方面很重要 的呀,在我的感念中是不一定哪里都哟啊ajax技术!
      

  7.   

    webload这个压力测试工具还不错,楼主用用
      

  8.   

    Ajax控件还是手写?
    BS手写的
      

  9.   

    请问 ajax 和普通访问有什么区别?1、如果网站正常访问没问题,那么检查你的ajax数据处理和输出。
    2、如果网站也无法正常访问,那检查你的数据访问层。
    3、如果读取数据失败不是经常性的,那么检查你的数据处理格式。比如null.ToString()
    4、小小的AJAX功能不可能造成IP流量限制。
    5、这种情况用压力测试是测试不出什么结果的。
      

  10.   

    网站正常访问没问题,ajax数据处理我也有用try捕捉,格式方面都是string应该没问题,出错的时候能捕捉到错误,但后面就访问不了,远程也连不上服务器,但其他人还是正常访问网站!
      

  11.   

    排除法
    换个主机(如果条件允许的话)看看会不会出同样的问题
    或是做个简单的测试页面(最好新建一个网站,并且使用新的测试数据),来排除程序有问题的可能我其实也碰到类似的问题: 频繁(大概每秒钟2次)向服务器提交ajax请求时,反映明显变慢(不过由于网站是非经营的,所以至今我没有去解决)
    楼主不防试试我上面推荐的方法希望楼主问题早日解决,我也顺便学习!
      

  12.   

    可能是主机负载问题,如果你ajax每次都读取数据库,那么出错的可能就会很高。一般对于动态性少的内容应该对数据进行缓存处理,不读数据库一般就不会因为流量大而出错。