thread_concurrency应设为CPU核数的2倍. 比如有一个双核的CPU, 那thread_concurrency 的应该为42个双核的cpu, thread_concurrency的值应为8.
thread_concurrency的值的正确与否, 对mysql的性能影响很大, 在多个cpu(或多核)的情况下,错误设置了thread_concurrency的值, 会导致mysql不能充分利用多cpu(或多核), 出现同一时刻只能一个cpu(或核)在工作的情况。
方法1、mysql中提高max_connections的值。不要太高,依据你的内存而定。一般8G-16G内存服务器500-1000 mysql>set GLOBAL max_connections=1000方法2、从应用层限制连接数据库的最大连接数用Fsocket获取数据时能够控制超时的。如果用
File_get_contents($url)
可以临时设定环境变量:
设定默认socket超时时间
ini_set("default_socket_timeout", 3)养成好习惯,使用fsocket获取数据。
如果使用Curl,也可以在Curl中控制超时时间:
curl_setopt($ch, CURLOPT_TIMEOUT, 15)
PHP中mysql函数是不提供类似mysql超时选项的,但是php.ini的mysql.connect_timeout可设置
Maximum time (in seconds) for connect timeout. -1 means nolimit
mysql.connect_timeout = 60
也可以在php脚本中调用设置ini_set()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)