标签: optimization

当 mysql 数据库存储在 SSD 上时,运行“优化表”是否有意义?

手册说,关于“优化表”:

“删除的行保存在链表中,随后的 INSERT 操作会重用旧的行位置。您可以使用 OPTIMIZE TABLE 回收未使用的空间并对数据文件进行碎片整理。”

所以我猜即使存储介质是SSD也会有一些性能提升(因为删除行的链表将被消除)。OTOH(再次猜测)性能提升不会像 HDD 那样显着,这也将受益于运行优化后更快的顺序读取。

那么在这种情况下是否值得运行优化?性能提升是否足以超过 SSD 预期寿命的减少(由于不必要的重新排列存储的数据)?。我说的是在其他方面非常适合优化的表(具有频繁更新的可变长度行)。

mysql optimization ssd

6
推荐指数
2
解决办法
3280
查看次数

我可以进一步优化这些 APC 设置吗?

我想进一步优化 APC,但我不确定在哪里可以做些什么。首先是使用当前配置运行一周后的屏幕截图: APC仪表盘

我现在有以下几点我不确定:

  1. 我是否正确地看到碎片发生是因为缓存也用作用户缓存?
  2. 当我总共分配了 192MB 时,为什么碎片栏告诉我只有 5.8MB 的 100%?
  3. 这只是“内存使用”下的圆圈没有完全关闭的渲染问题吗?因为下面的 MB 值确实加起来了。(也就是说,这个圆圈在重启后看起来不错,当缓存越来越碎片化时它会变成这样。)
  4. 由于命中率非常好,我不确定碎片是否是一个大问题。你觉得我还能优化吗?

我最感兴趣的是回答这些问题。只有这样我才能更好地理解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)

php optimization alternative-php-cache

6
推荐指数
1
解决办法
4647
查看次数

Nginx "ssl_stapling" 被忽略,证书中没有 OCSP 响应 URL

我正在尝试在 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)

optimization nginx ssl-certificate

6
推荐指数
1
解决办法
2万
查看次数

评估 Linux 上的 CPU I/O 等待

做一个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),它们是否意味着:

  1. 等待的 CPU 进程几乎与工作的 CPU 进程一样多?(=> 坏)
  2. 工作流程正在等待执行计划的 5.0%?(=> 在这种情况下可以)
  3. 别的东西

linux optimization io

6
推荐指数
1
解决办法
5万
查看次数

针对具有几个 TCP 客户端的单个应用程序的 Red Hat Linux 调整

我知道 Linux 是为多用户/并发进程而构建的,但在公司级别,其中许多用于单个(但很大)的应用程序以支持内部服务,其中仅服务于很少的客户端。

在这样的用例中,我们应该如何调整系统或内核(特别是 Red Hat Linux、Fedora、CentOS)以针对该场景进行优化?为了最大限度地减少延迟,减少上下文切换,本地磁盘 I/O 非常少。

会话长度可以是持久的(因为客户端的数量只是几个),数据大小交换很小,但是非常频繁,例如每秒 1k 到 2k 的消息,大小从 40 到 100 字节。

linux optimization tuning redhat centos

6
推荐指数
1
解决办法
424
查看次数

在同一台机器上运行多个实例时的 Nginx 性能

我试图了解在同一台机器上运行多个 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 的配置方式并有一个明智的理由。

optimization performance nginx performance-tuning

6
推荐指数
1
解决办法
3688
查看次数

10G 网络上的写入速度非常慢(NVME 驱动器)

搭建实验实验室集群,通过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)

optimization fiber 10gbethernet linux-networking nvme

6
推荐指数
1
解决办法
216
查看次数

为强大的服务器优化 php-fpm 和 varnish

我的设置是 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)

optimization nginx varnish php-fpm high-load

5
推荐指数
1
解决办法
4936
查看次数

用于数据库修复和优化的 Cron 作业

我想每周修复和优化我的 MySQL 数据库一次!

我怎么能这样做?

mysql ubuntu optimization

5
推荐指数
1
解决办法
1309
查看次数

调优 InnoDB 相关 MySQL 配置后磁盘 I/O 利用率高达 100%

我在“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%。

我有点迷茫 这是怎么回事?

mysql optimization innodb

5
推荐指数
1
解决办法
7016
查看次数