AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-352808

KDX's questions

Martin Hope
KDX
Asked: 2018-03-04 21:17:42 +0800 CST

KVM VPS 上的高服务器负载

  • 0

我有一个 KVM 单核 VPS,用于托管仅运行 Nginx 1.13.8、SSD 和 1GB RAM 的静态内容,托管服务提供商在 100 Mbit/s 未计量带宽的包上运行。

使用的操作系统是 3.10.0-693.17.1.el7.centos.plus.x86_64

服务器一直处于高负载Load average: 2.59 2.16 1.90

此服务器上没有安装或运行 PHP 或 MySQL 服务。

lscpu显示:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 13
Model name:            QEMU Virtual CPU version (cpu64-rhel6)
Stepping:              3
CPU MHz:               2266.746
BogoMIPS:              4533.49
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0
Flags:                 fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl pni cx16 hypervisor lahf_lm

日均带宽使用量为 40Mbit/s

任何给定时间的最大内存使用量在 300MB ~ 350MB 之间

nginx 错误日志每天只有不到 8KB。

查看top命令,nginxservice 在 CPU 栏中不断显示 20~30%,我相信这还不错。

这种高服务器负载的可能原因是什么?

由于nginx提供静态内容的资源效率很高,所以我想不出导致瓶颈的原因。

我怀疑托管 VPS 的主机过载,这会反映平均负载的高数字吗?

鉴于这种高负载平均统计数据,nginx 仍在为静态内容提供服务并平稳地推动带宽。

但这让我担心稳定性。

我已经在双核设置上尝试了与另一家托管公司完全相同的服务器部署,并使用 RRDNS 分配流量进行测试。

在相同的内存/带宽消耗量的情况下,资源使用率始终只有 0.05 ~ 0.30。

nginx
  • 1 个回答
  • 558 Views
Martin Hope
KDX
Asked: 2017-02-08 09:08:39 +0800 CST

Cronjob 无法在 CentOS 6 中重新启动 apache [重复]

  • 1
这个问题在这里已经有了答案:
为什么我的 crontab 不工作,我该如何排除故障? (7 个回答)
5年前关闭。

我正在使用 Plesk 12 + CentOS 6。

我 sshroot考虑并使用crontab -e创建以下条目:

* * * * * service httpd restart

我希望它每分钟重新启动 apache(只是为了测试/调试它的工作)

我使用检查了 apache 状态service httpd status并且 PID 始终相同,并且 apache 没有重新启动。

我验证/var/log/cron了该命令正在执行。

Feb 7 16:11:01 srv104 CROND[15620]: (root) CMD (service httpd restart)

但是, 中的所有其他条目crontab都在正确执行。

如果我在 shell 终端中手动执行命令service httpd restart,则 apache 将使用新的更新 PID 正确重新启动。

是否有任何service无法执行的预防措施root cronjob?


为什么我的 crontab 不工作,我该如何排除故障?有一些有用的提示,但没有解决上面原始问题中提到的我的具体情况。

工作解决方案:

如果我指定完整路径/sbin/service,例如。/sbin/service httpd restart在 cronjob 中,正如接受的答案中提到的那样,它确实有效。

不确定它是否与操作系统版本有关,但只是在我的情况下PATH就位/etc/crontab/并没有帮助。

service cron centos6 plesk
  • 1 个回答
  • 1720 Views
Martin Hope
KDX
Asked: 2017-02-07 15:41:12 +0800 CST

我可以为不同服务器上的子域使用单个 Let's Encrypt SSL 证书吗?

  • 2

目前,我可以获得一个在具有多个子域的服务器上工作的 Let's Encrypt SSL 证书。

例如。服务器 A 上的 m.example.com、www.example.com、example.com

但是,为了使用例如。服务器 B 上的 cdn.example.com,我该如何实现?

我的想法是:

(1) Server A上的单一证书,包含所有子域:cdn.example.com, m.example.com, www.example.com, example.com,然后rsync到Server B

(2) Server A上的一个证书,包含:m.example.com、www.example.com、example.com

服务器 B 上的第二个证书,仅包含:cdn.example.com

进行实施的正确方法或最佳方法是什么?

我不确定我是否允许为根域 example.com 生成多个证书

如果我扩展到多台服务器,我发现(1)在更新时更容易。

可以这样做吗?或者它是多余的?

更新:

两台服务器中的相同 SSL 证书 并不能完全解决我的问题。接受的解决方案部分回答 SSL 证书是 FQDN 特定的,而不是机器特定的。

如果是这样的话,我提出的(1)不是一个简化的解决方案吗?

我的问题是:

我是否可以有一个仅包含子域的部分 SSL 证书,cdn.example.com但忽略服务器 B 上的其他证书,然后为服务器 A 颁发另一个 SSL 证书,其中包含根域example.com、www.example.com和m.example.com?

ssl-certificate centos7 lets-encrypt
  • 2 个回答
  • 1309 Views
Martin Hope
KDX
Asked: 2017-01-23 01:55:56 +0800 CST

如何允许通过 HTTP/PHP 进行远程 MySQL 连接?

  • 0

我在下面提到的所有服务器上运行 CentOS 7。

我正在测试本地开发环境以设置单独的数据库和 Web 服务器。

这些服务器是在局域网中通过桥接模式连接的两个 VirtualBox 实例,因此可以毫无问题地看到对方。

我希望 WEB 服务器仅使用来自 WEB 服务器的 IP 限制连接到 DB 服务器上的 MySQL。

我已经阅读了一些讨论主题,但它们都没有帮助解决我的问题,因为它们中的许多都是firewall或selinux相关的。

我已经禁用了两者firewalld,selinux因此目前这些都不是因素。

DB服务器IP:192.168.1.167 WEB服务器IP:192.168.1.168

我正在使用以下脚本进行测试,http://192.168.1.168/connect.php

<?php
$servername = "192.168.1.167";
$username = "demouser";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

执行时出现Connection failed: Permission denied错误:

  • wget http://192.168.1.168/connect.php在 192.168.1.168 终端控制台上

  • http://192.168.1.168/connect.php在我的浏览器窗口中也给了我同样的错误。

(1) 但是,我可以使用mysql -u demouser -p -h 192.168.1.167192.168.1.168 (WEB 服务器)通过命令行成功连接

(2)我在192.168.1.168(WEB服务器)的终端控制台Connected successfully直接执行时也得到php connect.php

我只能确认通过 SSH 的远程 MySQL 连接正在工作,并且通过 PHP MySQL 模块正在工作。

这是 192.168.1.167(数据库服务器)上的访问权限

+---------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+---------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*DB17DD535D122AED147A61C30CD5D01FB3BC5433' |
| GRANT ALL PRIVILEGES ON `demodb`.* TO 'demouser'@'localhost'                                                      |
+---------------------------------------------------------------------------------------------------------------+

+-------------------------------------------------------------------------------------------------------------------+
| Grants for [email protected]                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'192.168.1.168' IDENTIFIED BY PASSWORD '*DB17DD535D122AED147A61C30CD5D01FB3BC5433' |
| GRANT ALL PRIVILEGES ON `demodb`.* TO 'demouser'@'192.168.1.168'                                                      |
+-------------------------------------------------------------------------------------------------------------------+

netstat在 192.168.1.167 上显示:

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2892/mysqld         
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1704/master         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1053/sshd 

如何允许通过 HTTP/PHP 进行远程 MySQL 连接,但仅适用于从上述 WEB 服务器发起的请求?

mysql php remote-access centos7
  • 1 个回答
  • 2310 Views
Martin Hope
KDX
Asked: 2016-08-13 01:49:47 +0800 CST

如何调优 Nginx + MySQL + PHP-FPM 瓶颈以解决服务器高负载?

  • -1

我的服务器 Ubuntu 14.04.4 LTS 以高负载运行,目前运行一个带有 Nginx + Wordpress + W3 Total Cache + Memcached 的站点。

我不确定是否mysql会导致工作量问题。

这是和的屏幕htop截图mytop

我可以从中htop看出内存不是这里的瓶颈。

它表明mysqld并且php-fpm是使用最高资源的进程。

有人能告诉我如何解释mytop吗?它看起来正常吗?

1  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||93.6%]     Tasks: 361, 71 thr; 12 running
2  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||95.6%]     Load average: 19.52 22.34 19.45 
3  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||97.5%]     Uptime: 71 days, 08:54:08
4  [|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||96.8%]
Mem[|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||5570/8015MB]
Swp[                                                                         0/0MB]

MySQL on localhost (5.7.13)
load 23.92 23.12 19.55 43/528 10012 up 7+04:05:52 [05:30:09]
Queries: 103.6M   qps:  175 Slow:  0.0  Se/In/Up/De(%):  79/00/00/00 
Sorts:  8693 qps now:  356 Slow qps: 0.0  Threads:  37 (   1/   3) 79/00/00/00 
Key Efficiency: 50.0%  Bps in/out: 28.8k/532.7k   Now in/out: 57.6k/880.7k

还是我应该考虑使用 fastcgi_cache 来避免命中 php-fpm?

更新:

我尝试重新启动我的所有服务、Nginx、PHP-FPM 和 MySQL。

我在一个流量相当高的网站上工作,每天浏览量为 110 万次。

重新启动所有服务后,资源再次快速上升。

在非高峰时段,我的 4 核机器上的负载值最大约为 4.00。

在高峰时段,负载在 20 到甚至 40 之间。

mysql cache wordpress performance-tuning bottleneck
  • 1 个回答
  • 2115 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve