>  기사  >  데이터 베이스  >  Linux tomcat连接Window MySQL异常的解决

Linux tomcat连接Window MySQL异常的解决

WBOY
WBOY원래의
2016-06-07 16:51:101119검색

公司搬迁,腾出了一台dell sc1420 Linux 服务器。就准备把tomcat6从window server2003移到redhat as5下,本以为速度会有质的改变

公司搬迁,腾出了一台dell sc1420 Linux 服务器。就准备把tomcat6从window server2003移到RedHat as5下,本以为速度会有质的改变。可安装上去后,发现速度以前更慢了很多,,主要是tomcat 与mysql connection的太费时。在mysql的网站这样答复:

6.5.9. How MySQL Uses DNS

When a new client connects to mysqld, mysqld spawns a new thread to handle the request. This thread first checks whether the hostname is in the hostname cache. If not, the thread attempts to resolve the hostname:

If the operating system supports the thread-safe gethostbyaddr_r() and gethostbyname_r() calls, the thread uses them to perform hostname resolution.

If the operating system does not support the thread-safe calls, the thread locks a mutex and calls gethostbyaddr() and gethostbyname() instead. In this case, no other thread can resolve hostnames that are not in the hostname cache until the first thread unlocks the mutex.

You can disable DNS hostname lookups by starting mysqld with the --skip-name-resolve option. However, in this case, you can use only IP numbers in the MySQL grant tables.

If you have a very slow DNS and many hosts, you can get more performance by either disabling DNS lookups with --skip-name-resolve or by increasing the HOST_CACHE_SIZE define (default value: 128) and recompiling mysqld.

You can disable the hostname cache by starting the server with the --skip-host-cache option. To clear the hostname cache, issue a FLUSH HOSTS statement or execute the mysqladmin flush-hosts command.

To disallow TCP/IP connections entirely, start mysqld with the --skip-networking option.

在mysql.ini的mysqld添加skip-networking option。速度果然有飞得改变。

linux

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.