我已将我的网站移至新的更快的专用服务器(64GB RAM,OVH中的CPU 4c / 8t 3.7GHz)。问题是,现在我的网站工作速度更慢,而不是更快。
我发现这是因为对我的mysql的UPDATE查询速度很慢。我已经阅读了很多主题,尝试了许多配置而没有任何运气。 Mysql配置几乎是默认的,所以我不明白为什么它不起作用。这不是超载,因为我关闭了网站并从phpmyadmin进行测试 - 结果相同。
所以我在phpmyadmin中有这个查询,并在两台服务器上执行这几次。表(InnoDB)和数据完全相同。
Option Explicit
Sub CommandButton1_Click()
Dim i3 As Long, i4 As Long, i5 As Long, i6 As Long, i7 As Long
Dim cell As Range
With Worksheets("INPUT")
For Each cell In .Range("A1", .Cells(1, .Columns.Count).End(xlToLeft))
Select Case cell.Value
Case "Id"
i3 = cell.Column
Case "Nord"
i4 = cell.Column
Case "Øst"
i5 = cell.Column
Case "S_OBJID"
i6 = cell.Column
Case "DATO"
i7 = cell.Column
Case Else
End Select
Next
MsgBox (i3 & i4 & i5 & i6 & i7)
.Cells(i5, i3).Select
MsgBox (ActiveCell.Value)
End With
End Sub
新服务器上的时间:
UPDATE `user` SET `last_date` = "2017-02-05 03:40:50" WHERE `id`=3;
旧服务器上的时间:
0.0553 s
0.0265 s
0.0229 s
0.0369 s
0.1579 s <---
0.0191 s
新服务器软件:Debian 8,Mysql 5.5.31,Apache 2.2.16,PHP 7.1
旧服务器软件:Debian 6,Mysql 5.5.31,Apache 2.2.16,PHP 5.3
我尝试将整个my.cnf从旧版复制到新版,但结果是一样的。那么为什么同样的配置在旧系统上运行良好,而不是在新系统上运行呢?
新服务器my.cnf
0.0024 s
0.0042 s
0.0015 s
0.0015 s
0.0015 s
0.0012 s
旧服务器my.cnf
port = 3306
socket = /var/run/mysqld/mysqld.sock
socket = /var/run/mysqld/mysqld.sock
nice = 0
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 0
general_log_file = /var/log/mysql/mysql.log
general_log = 0
slow_query_log_file = /var/log/mysql/mysql-slow.log
slow_query_log = 1
long_query_time = 2
expire_logs_days = 10
max_binlog_size = 100M
innodb_buffer_pool_size = 16G
max_connections = 2048
skip_name_resolve = 1
quick
quote-names
max_allowed_packet = 16M
key_buffer = 16M
为什么会这样?
修改 我也试过了:
直接从mysql终端进行查询。
my.cnf更改后重启apache。
PHP 5.