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-34947

BarsMonster's questions

Martin Hope
BarsMonster
Asked: 2018-11-04 05:07:28 +0800 CST

带有 URL 重写的 Nginx 缓存反向代理

  • 1

我正在从具有慢速旋转磁盘的后端存储服务器提供大型静态文件。该服务器隐藏在 SSD 上具有本地缓存​​的快速 nginx 反向代理后面。它工作得很好而且很快。

现在我想更改存储后端,因此我无法在后端维护存储文件的相同位置。而不是服务器的根目录,它们必须从子目录中提供服务。如何修改 nginx 反向代理配置,以便将所有非缓存请求代理到后端子目录,并且客户端不知道有任何更改?

我不能在存储服务器上做任何事情来维护旧的 URL 方案,所以我必须在前端做。不应该在任何地方传递 301/302 标头。

所以目前我有:

  • 客户端见:https ://frontend.com/file.txt
  • Nginx 从以下位置获取非缓存文件: https ://backend.com/file.txt

我想要达到的目标:

  • 客户端见:https ://frontend.com/file.txt (客户端没有可观察到的变化)
  • Nginx 从以下位置获取非缓存文件:https ://backend.com/directory/file.txt

我已经尝试了几十种配置,但没有运气。当我尝试此配置时 - 它不是从不同的 URL 静默获取数据,而是以通过正则表达式添加测试的无限循环结束。

    location / {
        rewrite /(.*) /test/$1  break;
        proxy_pass http://f002.backblazeb2.com;
        proxy_redirect     off;
        proxy_set_header   Host $host;

        proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
        proxy_cache_revalidate on;
        proxy_read_timeout     2;
        proxy_connect_timeout  3;

        proxy_http_version 1.1;
        proxy_set_header Connection "";

        proxy_cache_valid 200 302 60s;
        proxy_cache_valid 404      1m;

        limit_conn perip 23;
        limit_req zone=dynamic burst=60;

        expires 24h;
    }
nginx
  • 2 个回答
  • 660 Views
Martin Hope
BarsMonster
Asked: 2017-06-23 20:42:38 +0800 CST

Munin:无法添加新的自定义 munin 节点

  • 1

我已经编写了自己的简单 munin-node 实现,但无法让它显示在 munin-cgi-html 中的 master (2.0.33-1) 上。

munin.conf 配置:

[uberlamp3]
    address 192.167.0.21
    use_node_name yes
    port 19270

我监视主节点和节点之间的对话,并看到该节点被要求:

1:盖帽(我返回空盖帽)

2:列表(我返回唯一的插件 - temp)

3:配置温度。我回来:

graph_args --title "Lamp Temperatures"
graph_category Temperatures
temp.label temp
.

4:取温度。我回来:

temp.value 47.3

5:退出 - 我断开连接。munin-update.log 中没有错误

所有这些都在 munin-update 上正常处理。munin-update.log 中没有错误。创建相应的 rrd 文件并使用正确的值更新(使用 rrdtool 检查)。但是 munin-cgi-html 从来没有在生成的 HTML 中显示这个新节点。

munin-update.log:

2017/06/23 07:40:01 [INFO] starting work in 9170 for uberlamp3/192.167.0.21:19270.
2017/06/23 07:40:01 [INFO] node uberlamp3 advertised itself as uberlamp.14.by instead.
2017/06/23 07:40:01 [INFO]: Munin-update finished for node uberlamp3;uberlamp3 (0.33 sec)
2017/06/23 07:40:06 [INFO] Reaping Munin::Master::UpdateWorker<uberlamp3;uberlamp3>.  Exit value/signal: 0/0

更多观察:

1) htmlconf.storable - 包含对 uberlamp3 节点的引用

2) 我尝试再添加一个本机 munin-node,它添加没有问题 - 并且在更新后显示在 html/graphs 中。uberlamp3 虽然仍然没有显示。

有什么建议么?

Munin 版本:2.0.33-1 Ubuntu 版本:尝试 16.10 和 17.04

munin
  • 2 个回答
  • 584 Views
Martin Hope
BarsMonster
Asked: 2015-05-15 22:42:04 +0800 CST

Windows - 从 Linux 存储服务器安装具有客户端读/写缓存的网络驱动器

  • 3

有没有办法在启用了客户端读/写缓存的 Windows 上挂载网络驱动器?在我的情况下,驱动器保证由 1 个用户安装,并且在网络/电源出现故障的情况下,性能比可靠性更重要。

我可以完全控制 Linux 文件服务器,因此任何服务都是可能的(一些特殊的 iSCSI 或其他)。

仅受千兆网络限制的原始非缓存性能是不够的。

linux
  • 3 个回答
  • 2346 Views
Martin Hope
BarsMonster
Asked: 2010-04-10 22:05:43 +0800 CST

优化 PHP<>MySQL 性能

  • 0

我正在尝试在此测试脚本上优化我的 PHP<>MySQL:

<?
  for($i=0;$i<100;$i++)//Iterations count
    $res.= var_dump(loadRow("select body_ru from articles where id>$i*50 limit 100"));

  print_r($res);
?>

我有 APC,并且文章表在 id 上有一个索引。此外,所有这些查询都在访问查询缓存,所以如果 MySQL 性能很好的话。

但是当我使用 ab -c 10 -t 10 来测试这个脚本时,我得到:

100 次迭代:~100req/sec(~10'000 MySQL 查询每秒)

5 次迭代:~200req/sec

1 次迭代:~380req/秒

0 次迭代:~580req/sec

我试图在 PHP 中禁用持久连接——它让它变慢了一点。那么,如果 MySQL 不限制性能,我怎样才能让它工作得更快呢?

所以这看起来像建立连接或其他东西需要太多时间......

performance mysql php apache-2.2
  • 2 个回答
  • 1559 Views
Martin Hope
BarsMonster
Asked: 2010-04-10 05:00:59 +0800 CST

DNS 性能:拥有多个辅助 NS 服务器会提高性能吗?

  • 8

当某个域有主 NS 和多个辅助 NS 时,客户端会随机要求它们降低负载,还是只打主 NS,只有在主失败时才继续辅助?

domain-name-system load-balancing nameserver
  • 8 个回答
  • 6861 Views
Martin Hope
BarsMonster
Asked: 2010-02-16 16:02:46 +0800 CST

如何将 php5+MySQL 扩展到 200 个请求/秒以上?

  • 16

我正在调整我的主页以提高性能,目前它在 3.14.by 上处理大约 200 个请求/秒,它吃 6 个 SQL 查询,在 3.14.by/forum 上处理 20 个请求/秒,这是 phpBB 论坛。

奇怪的是,一些 VPS 和专用 Atom 330 服务器上的数字大致相同。

服务器软件如下:Apache2+mod_php prefork 4 childs(在这里尝试了不同的数字)、php5、APC、nginx、用于 PHP 会话存储的 memcached。

MySQL 被配置为占用大约 30% 的可用 RAM(在 VPS 上约为 150Mb,在专用服务器上为 700Mb)

看起来某处存在瓶颈,不允许我走得更高,有什么建议吗?(即,我知道执行少于 6 个 SQL 会使其更快,但这看起来不像是一个限制因素,因为 sqld 由于缓存查询而在顶部吃不到几个 %)

有没有人测试过踢 preforked apache2 并只留下 nginx+php 更快?

更多基准

Small 40-byte static file: 1484 r/s via nginx+apache2, 2452 if we talk to apache2 directly. 
Small "Hello world" php script: 458 r/s via ngin+apache2.

更新: 似乎瓶颈是缓存数据上的 MySQL 性能。带有单个 SQL 的页面显示 354req/sec,具有 6 个 SQL - 180 req/sec。你觉得我可以在这里调整什么?(我可以为 MySQL 分配 100-200Mb)

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
default-character-set=cp1251
collation-server=cp1251_general_cs

skip-character-set-client-handshake

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
skip-external-locking

bind-address        = 127.0.0.1

key_buffer      = 16M
max_allowed_packet  = 8M
thread_stack        = 64K
thread_cache_size   = 16
sort_buffer_size    = 8M
read_buffer_size    = 1M

myisam-recover      = BACKUP
max_connections        = 650
table_cache            = 256
thread_concurrency     = 10

query_cache_limit       = 1M
query_cache_size        = 16M

expire_logs_days    = 10
max_binlog_size         = 100M

[mysqldump]
quick
quote-names
max_allowed_packet  = 8M

[mysql]
[isamchk]
key_buffer      = 8M

!includedir /etc/mysql/conf.d/
performance php apache-2.2 nginx
  • 8 个回答
  • 16637 Views
Martin Hope
BarsMonster
Asked: 2010-02-16 14:42:34 +0800 CST

有什么方法可以减少 bind9 内存占用?

  • 10

我在 bind9 上为我的 5 个域运行我自己的权威 DNS,流量很少。我在 2 个独立的 VPS 服务器上运行它们(所以每 Mb 的内存要花费我 2 美元)。

有什么办法可以将它的内存消耗从~45-50Mb 降低到最低?(我会对 10-30Mb 感到满意)

我知道有更轻的 DNS 服务器替代品,但这需要更换服务器管理软件,所以我更愿意坚持使用绑定。

建议?我听说 bind8 在内存消耗方面更好。我会因为使用它而下地狱吗?

memory bind vps
  • 5 个回答
  • 8802 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