该手册说,关于“优化表”:
“删除的行保存在链表中,随后的 INSERT 操作会重用旧的行位置。您可以使用 OPTIMIZE TABLE 回收未使用的空间并对数据文件进行碎片整理。”
所以我猜即使存储介质是SSD也会有一些性能提升(因为删除行的链表将被消除)。OTOH(再次猜测)性能提升不会像 HDD 那样显着,这也将受益于运行优化后更快的顺序读取。
那么在这种情况下是否值得运行优化?性能提升是否足以超过 SSD 预期寿命的减少(由于不必要的重新排列存储的数据)?。我说的是在其他方面非常适合优化的表(具有频繁更新的可变长度行)。
我想进一步优化 APC,但我不确定在哪里可以做些什么。首先是使用当前配置运行一周后的屏幕截图:

我现在有以下几点我不确定:
我最感兴趣的是回答这些问题。只有这样我才能更好地理解APC并自己做出调整。
一些详细信息:在此服务器上运行 Drupal 和 Magento。Drupal 也将其用作用户缓存。
我现在的问题是如何优化它。我可以分配更多的内存,但我不确定这是否真的有很大帮助。
更新:这是配置:
; The size of each shared memory segment in MB.
apc.shm_size = 192M
; Prevent files larger than this value from getting cached. Defaults to 1M.
apc.max_file_size = 2M
; The number of seconds a cache entry is allowed to idle in a slot in case
; this cache entry slot is needed by another entry.
apc.ttl = …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Nginx 上设置 OCSP 装订,因为我运行了一个测试,它提出了这个想法,嗯,你知道。
https://sslcheck.globalsign.com/en_GB/sslcheck?host=aj2jewellers.co.uk#176.58.103.165
我收到错误:
nginx: [warn] "ssl_stapling" ignored, no OCSP responder URL in the certificate
Run Code Online (Sandbox Code Playgroud)
这是我的 .conf 的相关部分
server {
# use Google's DNS
resolver 8.8.4.4 8.8.8.8 valid=300s;
resolver_timeout 10s;
ssl_stapling on;
ssl_stapling_verify on;
## verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /pathtossl/www.aj2jewellers.co.uk.crt;
}
Run Code Online (Sandbox Code Playgroud) 做一个top检查io等待,我得到这些数字:
Cpu(s): 6.7%us, 1.4%sy, 1.2%ni, 85.5%id, 5.0%wa, 0.0%hi, 0.3%si, 0.0%st
Run Code Online (Sandbox Code Playgroud)
看看这些数字 (%us ~= %wa),它们是否意味着:
我知道 Linux 是为多用户/并发进程而构建的,但在公司级别,其中许多用于单个(但很大)的应用程序以支持内部服务,其中仅服务于很少的客户端。
在这样的用例中,我们应该如何调整系统或内核(特别是 Red Hat Linux、Fedora、CentOS)以针对该场景进行优化?为了最大限度地减少延迟,减少上下文切换,本地磁盘 I/O 非常少。
会话长度可以是持久的(因为客户端的数量只是几个),数据大小交换很小,但是非常频繁,例如每秒 1k 到 2k 的消息,大小从 40 到 100 字节。
我试图了解在同一台机器上运行多个 nginx 实例(主实例)对性能的影响,而不是使用不同的服务器块将它们全部加载到单个实例中。使用多个 nginx 实例如何影响 worker_process 和 worker_connections 优化?
我看到大量建议表明 worker_process 应该反映内核数量,最多应该是内核数量的两倍。我也明白 worker_connections 应该与 ulimit 匹配,或者稍微低于 ulimit。提供太多连接可用,或者每个内核有太多工作人员应该会损害性能。
我有两个核心和 1024 的 ulimit,但我有 4 个 nginx 实例,每个实例都有以下设置:
worker_processes 4;
worker_connections: 1024;
Run Code Online (Sandbox Code Playgroud)
这不是worker_processes 16;和我有和 一样的效果worker_connections 4069;吗?
注意:当我说 nginx 实例时,让我说清楚,我的意思是有 4 个独立的 nginx 主进程,每个进程都提供了一个具有相似设置的不同配置文件,每个进程都有自己的工作人员。
注 2:这个场景是我继承的并且已经到位。我想弄清楚我是否应该改变 nginx 的配置方式并有一个明智的理由。
搭建实验实验室集群,通过10G光纤连接接收数据的写入速度为本地写入速度的10%。
测试两台相同机器之间的传输速度;iperf3显示良好的内存到内存速度为9.43Gbits/s。磁盘(读取)到内存传输的速度(9.35Gbit/s):
test@rbox1:~$ iperf3 -s -B 10.0.0.21
test@rbox3:~$ iperf3 -c 10.0.0.21 -F /mnt/k8s/test.3g
Connecting to host 10.0.0.21, port 5201
Sent 9.00 GByte / 9.00 GByte (100%) of /mnt/k8s/test.3g
[ 5] 0.00-8.26 sec 9.00 GBytes 9.35 Gbits/sec
Run Code Online (Sandbox Code Playgroud)
但是发送超过 10G 的数据并写入另一台机器上的磁盘要慢一个数量级:
test@rbox1:~$ iperf3 -s 10.0.0.21 -F /tmp/foo -B 10.0.0.21
test@rbox3:~$ iperf3 -c 10.0.0.21
Connecting to host 10.0.0.21, port 5201
[ 5] local 10.0.0.23 port …Run Code Online (Sandbox Code Playgroud) 我的设置是 Intel® Core™ i7-2600 和 RAM 16 GB DDR3 RAM
varnish+nginx+php-fpm+apc 用于使用 W3 Total Cache 和 CDN 的不是很重的 WordPress 博客
我的问题是,根据 blitz.io 清漆每秒 55 次点击后开始发出超时。此时的 CPU 使用率几乎不到 1%。可用内存始终保持 10GB+。
我尝试直接对 php-fpm 进行基准测试,结果为 150 次点击/秒,没有任何超时。但在那之后,CPU 使用率达到 100% 并停止响应。
你能帮我优化它以处理更多吗?
据我了解 nginx 在这里没有任何关系,所以我没有包含它的配置。
php-fpm 配置
listen = /tmp/php5-fpm.sock
listen.allowed_clients = 127.0.0.1
user = nginx
group = nginx
pm = dynamic
pm.max_children = 150
pm.start_servers = 7
pm.min_spare_servers = 2
pm.max_spare_servers = 15
pm.max_requests = 500
slowlog = /var/log/php-fpm/www-slow.log
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] …Run Code Online (Sandbox Code Playgroud) 我想每周修复和优化我的 MySQL 数据库一次!
我怎么能这样做?
我在“my.conf”中添加了以下几行:
query_cache_size=128M
innodb_buffer_pool_size=512M
innodb_flush_method=O_DIRECT
Run Code Online (Sandbox Code Playgroud)
之后磁盘利用率开始上升,达到 100% 并保持稳定,由于磁盘 I/O 相关任务,CPU 也有所上升,但物理内存仅使用了 50%。
我有点迷茫 这是怎么回事?