小编Hrv*_*jar的帖子

调整 Apache2 prefork MaxClients ServerLimit

我有一台 128 GB Ram 的机器,它使用 Apache2 作为 Web 服务器(在这台机器上没有数据库服务器,数据库机器是一台 64 GB Ram 机器,可以处理 2000 个最大连接)。我使用监控工具看到目前大约有 44 个忙碌的工作人员和 12 个空闲的工作人员,我的 prefork 模块的最佳理论值是多少?

我有时会在高负载时间加载网站时出现空白页面,并在我的 apache 错误日志中出现此错误:

【注意】child pid 13595 exit signal Segmentation fault (11)

如何解决这个问题呢?

我的 Apache2 Prefork 模块配置:

StartServers          3
MinSpareServers       3
MaxSpareServers       5
ServerLimit           3200
MaxClients            3100
MaxRequestsPerChild   0
Run Code Online (Sandbox Code Playgroud)

在 www 机器上免费 -h

总计:128 G 空闲空间:97GB(运行 apache2)共享 0b 缓冲区 1.9G 缓存 23G

Apache2 和其他程序使用的 Ram:

Private  +   Shared  =  RAM used    Program

 96.0 KiB +  61.0 KiB = 157.0 …
Run Code Online (Sandbox Code Playgroud)

hosting mpm-prefork shared-hosting segmentation-fault apache-2.2

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

HTTP GET 方法如何与 DNS 协议相关联?

我正在尝试了解 TCP/IP 堆栈中的应用层协议。我知道 HTTP 和 DNS 协议都停留在顶层(应用层)。因此,当浏览器想要访问资源时,它必须向 HTTP 服务器发送请求,例如:

GET www.pippo.it/hello.htm HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

这个请求遵循 HTTP 协议的规则,它使用页面 URL,而不是 IP 地址。

我知道将 URL 转换为 IP 需要 DNS 请求。所以我的问题是:HTTP 会调用 DNS 协议吗?这对我来说似乎是不可能的,因为两者都是顶层协议(因此 DNS 无法为 HTTP 提供服务)。以同样的方式,即使 TCP(停留在较低级别)也无法在更高级别的协议(如 DNS)上请求服务。

那么DNS请求什么时候发生呢?谁执行了这样的请求?

domain-name-system tcpip http

19
推荐指数
3
解决办法
2万
查看次数

绕过 htaccess 限制?

我在我的 apache 访问日志中找到了这个

access.log:555.555.555.555 - - [05/May/2011:12:12:21 -0400] "GET /somedir/ HTTP/1.1" 403 291 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0"
access.log:555.555.555.555 - - [05/May/2011:12:12:29 -0400] "GET /somedir/ HTTP/1.1" 200 7629 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:5.0) Gecko/20100101 Firefox/5.0"
Run Code Online (Sandbox Code Playgroud)

所以 /somedir/ 有 .htaccess 文件,看起来像

Order Deny,Allow
Deny from all
Allow from 333.333.333.333
Allow from 444.444.444.444
Run Code Online (Sandbox Code Playgroud)

htaccess 未在时间范围内修改(12:12:21 和 12:12:29 之间的 8 秒)

任何想法如何可能达到 403 Forbidden 然后在 8 秒后达到 200 OK;我很困惑

hacking .htaccess apache-2.2

7
推荐指数
1
解决办法
3466
查看次数

TCP Dump,看不懂这4行?

我需要支持理解这 4 行。看起来像 tcp 转储,但我实际上不明白这里到底发生了什么。

13:13:22.407445 IP 192.168.246.128.54955 > 192.168.246.13.80: S 2910497703:2910497703(0) win 5840 <mss 1460,sackok,timestamp="" 518611="" 0,nop,wscale="" 6="">
13:13:22.407560 IP 192.168.246.13.80 > 192.168.246.128.54955: S 3762608065:3762608065(0) ack 2910497704 win 64240 <mss 1460,nop,wscale="" 0,nop,nop,timestamp="" 0="" 0,nop,nop,sackok="">
13:13:22.407963 IP 192.168.246.128.54955 > 192.168.246.13.80: . ack 1 win 92 <nop,nop,timestamp 518611="" 0="">
13:13:22.408321 IP 192.168.246.128.54955 > 192.168.246.13.80: R 1:1(0) ack 1 win 92 <nop,nop,timestamp 518611="" 0="">
Run Code Online (Sandbox Code Playgroud)

tcpip tcp tcpdump

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

评估 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万
查看次数

UDP 端口上的 MySQL

我在互联网上搜索过但找不到任何令人满意的答案。有人可以指导吗,这是我的困惑/问题。

  1. 我们可以在 udp 端口​​而不是默认的 tcp 端口上运行 mysql 吗?
  2. 如果可以在udp上运行mysql,有什么优点和缺点?

mysql

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

bc:使用带有 bash 变量的“scale”

很容易,我正在编写一个脚本,它需要一些浮点后有 2 位数字的值。尝试使用bc我不明白如何使用“比例”,即

A=12 ; bc <<< $(($A/5))
Run Code Online (Sandbox Code Playgroud)

这是正确的,但添加“比例”会导致错误:

A=12 ; bc <<< 'scale=2;$(($A/5))'

(standard_in) 1: illegal character: $
(standard_in) 1: illegal character: $
Run Code Online (Sandbox Code Playgroud)

scripting linux shell bash

4
推荐指数
1
解决办法
3万
查看次数

运行“find”命令会产生高负载

我在 SSD 驱动器配置为 RAID 1 的 Debian 服务器上运行此命令:
ionice -c 3 find . -type f -amin -1440 -mmin +1441 -not -path custom/ -print0
在包含超过 170 万个文件和目录的路径上。

我注意到每次运行此命令时,服务器负载都会达到峰值,我想知道是否有任何方法可以限制find速度,使其不会产生如此高的负载。
另外我想知道这里是否有特定于 SSD 的选项以减少负载生成find

linux debian find ssd performance-tuning

3
推荐指数
1
解决办法
2492
查看次数

备份和恢复 MySQL 数据库

需要备份 MySQL 5.1 数据库。数据库安装在 Windows Server 2003 上。我用谷歌搜索它,我发现了很多工具,但我对选择什么并不感到困惑。

我的要求是:

  • 备份工具必须有图形用户界面
  • 如果只支持备份,不关闭数据库就好了
  • 它必须在windows下运行
  • 我只想选择 MySQL 文件夹源和目标文件夹进行备份,开始备份时的第二个设置时间。例如每周一次。
  • 从备份中恢复数据的选项

你有什么好的建议给我吗?

mysql windows database-backup

-1
推荐指数
1
解决办法
217
查看次数