Nginx的优点:
1、优点工作在OSI第7层,可以针对http应用做一些分流的策略
2、Nginx对网络的依赖非常小,理论上能ping通就就能进行负载功能
3、Nginx安装和配置比较简单
4、可以承担高的负载压力且稳定
5、Nginx可以通过端口检测到服务器内部的故障
6、Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器
Nginx的缺点:
1、Nginx不支持url来检测。
2、Nginx仅能支持http和Email,这个它的弱势。
3、Nginx的Session的保持,Cookie的引导能力相对欠缺。
HAProxy的优点
1、HAProxy是支持虚拟主机的
2、支持url检测后端的服务器
3、它跟LVS一样,本身仅仅就只是一款负载均衡软件;单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的;
4、HAProxy可以对Mysql读进行负载均衡,节点检测
5、HAProxy的算法较多
int STDCALL mysql_ping(MYSQL *mysql)
描述:
检查与服务端的连接是否正常。连接断开时,如果自动重新连接功能未被禁用,则尝试重新连接服务器。该函数可被客户端用来检测闲置许久以后,与服务端的连接是否关闭,如有需要,则重新连接。
返回值:连接正常,返回0;如有错误发生,则返回非0值。返回非0值并不意味着服务器本身关闭掉,也有可能是网络原因导致网络不通。
错误码:CR_COMMANDS_OUT_OF_SYNC 命令以不正确的顺序执行
CR_SERVER_GONE_ERROR 服务器连接断开
。。。。。
conn本来 就已经被你定义成了 函数, conn.ping()当然不存在了。而且你要的数据库连接c,还被手动关闭了。我觉得有两点1. 按照你这个脚本的情况,你用一次,就新建一个数据库连接问题应该不大。2. 要保持使用一个连接的话。把c作全局变量 c=MySQLdb.connect(user="root",passwd="12345",host="localhost",db="yingtest")使用的时候,直接用c但是不要close,当然要先判断这个连接是否已经断开了,如是再重新连一次。或者把连接放到一个连接池里面,用的时候直接去连接池里面取。连接池可以看看 DBUtils模块 你说的conn.ping() 看看是不是在c里面,c=MySQLdb.connect(user="root",passwd="12345",host="localhost",db="yingtest")就是这个对象里面,看看有没有判断连接是否断开的方法。 因为没用过 MySQLdb模块。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)