我有一个巨大的(~150 GB)postgresql 数据库,它的性能在过去几周内下降了。为了提高性能,我打算执行FULL VACUUM、CLUSTER和ANALYZE。
我应该按什么顺序执行这些操作?我不介意执行所需的时间,只介意数据库的性能改进。
谢谢,
乌迪
我正在通过 EC2 Ubuntu 14.04 LTS 在 uWSGI 上运行 Python Flask 服务器。服务器配置如下:
[uwsgi]
http-socket = :9000
plugin = python
wsgi-file = /path/to_wsgi.py
enable-threads = true
Run Code Online (Sandbox Code Playgroud)
但是,日志是使用没有读取访问权限的 root 权限创建的:
$ ls -ltrh /var/log/uwsgi/app
total 34M
-rw-r----- 1 root root 2.3M Jun 4 06:50 reporter-uwsgi.log.2.gz
-rw-r----- 1 root root 24M Jun 5 06:51 reporter-uwsgi.log.1
-rw-r----- 1 root root 8.4M Jun 5 17:27 reporter-uwsgi.log
Run Code Online (Sandbox Code Playgroud)
这是一个烦恼,因为我的一些脚本以普通用户身份运行并解析这些日志。
知道如何配置 uWSGI 以使用全局读取权限写入吗?
指令之间有什么区别ProxyPass:
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
Run Code Online (Sandbox Code Playgroud)
还有一个<Proxy>指令:
<Proxy http://localhost:8080/*>
Order deny,allow
Allow from all
</Proxy>
Run Code Online (Sandbox Code Playgroud)
在 Apache 配置文件中?
我经常在同virtualhost一部分看到这两个,但我不确定有什么区别。
我一直在尝试构建和配置 ntp 客户端和服务器,并ntp.conf 在客户端中使用了这一行:
restrict default ignore
Run Code Online (Sandbox Code Playgroud)
不过,我看到我的客户端正在侦听本地网络接口。从系统日志:
Listening on interface #0 wildcard, 0.0.0.0#123 Disabled
Listening on interface #1 wildcard, ::#123 Disabled
Listening on interface #2 vmnet8, fe80::250:56ff:fec0:8#123 Enabled
Listening on interface #3 lo, ::1#123 Enabled
Listening on interface #4 eth0, fe80::222:68ff:fe10:1529#123 Enabled
Listening on interface #5 vmnet1, fe80::250:56ff:fec0:1#123 Enabled
Listening on interface #6 lo, 127.0.0.1#123 Enabled
Listening on interface #7 eth0, 192.168.111.183#123 Enabled
Listening on interface #8 vmnet1, 172.16.139.1#123 Enabled
Run Code Online (Sandbox Code Playgroud)
0-1 被禁用,这很好。
使用的开放端口列表nmap -sUS -O …
这些free命令以两种形式提供可用内存量:完全可用内存(Mem行)和用于缓存和缓冲区的一次性内存(-/+ buffers/cache行):
-bash-3.2$ free -m
total used free shared buffers cached
Mem: 16057 15173 884 0 17 2520
-/+ buffers/cache: 12635 3422
Swap: 12287 4937 7350
Run Code Online (Sandbox Code Playgroud)
在此示例中,不包括缓冲区和缓存的可用内存为 884 MB,包括缓冲区和缓存的可用内存为 3422 MB。
如何在 中获得第二个测量值(可用内存,包括缓冲区和缓存)sar?
我的团队编写了一个内部 BI 服务器,它在/users/daily或等链接处生成 HTML 报告/updates/questions。
服务器是用Grails编写的,它与经典的 Apache-Tomcat 设置完美配合:
ProxyPass / http://localhost:8080/ nocanon
ProxyPassReverse / http://localhost:8080/
Run Code Online (Sandbox Code Playgroud)

所以
https://example.com/users/daily
Run Code Online (Sandbox Code Playgroud)
在内部代理到
http://localhost:8080/users/daily
Run Code Online (Sandbox Code Playgroud)
并由 Tomcat servlet 提供服务。
服务器成功,我想将它部署三次,到 3 个不同的系统,由 URL 后缀 ( /dev, /stg, /prod)区分:

这意味着https://example.com/dev/users/daily将从 代理http://localhost:8080/users/daily,并将https://example.com/prod/users/daily从http://localhost:8082/users/daily.
我尝试了一些 ApacheRewriteRule和ProxyPass规则,但找不到有效的组合。
如何在具有工作内部链接的 Apache 中进行基于后缀的内部路由?
我正在尝试从 Ubuntu 服务器远程运行 X。我已经安装gedit在远程机器上,并尝试过:
adam@laptop $ ssh -X adam@myserver
adam@myserver $ gedit
cannot open display:
Run 'gedit --help' to see a full list of available command line options.
Run Code Online (Sandbox Code Playgroud)
我用另一个程序试过了:
adam@myserver $ filezilla
Error: Unable to initialize gtk, is DISPLAY set properly?
Run Code Online (Sandbox Code Playgroud)
这是 SSH 日志,使用ssh -X -v:
OpenSSH_5.3p1 Debian-3ubuntu5, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to [Server ip and name omitted, Adam] port 22.
debug1: Connection …Run Code Online (Sandbox Code Playgroud) 我即将在数百台生产服务器中将 RHEL 版本从 RHEL 5.4 升级到 RHEL 6.3。
升级将在生产部署之前在虚拟机上的暂存环境中进行测试。
RHEL 升级是否存在任何向后兼容性问题?
我有几个 servlet 侦听无法从外部访问的内部端口。我使用 ApacheProxyPass和ProxyPassReverse指令从端口 443 安全地为它们提供服务:
ProxyPass /media http://localhost:9002/
ProxyPassReverse /media http://localhost:9002/
Run Code Online (Sandbox Code Playgroud)
这工作正常 -https://example.com/media从http://localhost:9002/.
当 URL 具有不同部分时会出现问题。例如:
https://example.com/image/IMAGE_NAME_1应该从http://localhost:9002/image/IMAGE_NAME_1.
并且https://example.com/image/IMAGE_NAME_2应该从http://localhost:9002/image/IMAGE_NAME_1.
我尝试了一些变化,包括:
RewriteEngine on
RewriteRule ^/image/(.*)$ http://localhost:9002/image/$1 [L,PT]
ProxyPass /image/ http://localhost:9002/image
ProxyPassReverse /image/ http://localhost:9002/image
Run Code Online (Sandbox Code Playgroud)
但是这种配置会导致Bad Request浏览器和
Invalid URI in request GET /image/1 HTTP/1.1
Run Code Online (Sandbox Code Playgroud)
在日志中。
如何代理 URL 具有不同部分的内部 servlet?
apache-2.2 ×3
mod-proxy ×2
ntp ×2
security ×2
time-server ×2
ubuntu ×2
cluster ×1
database ×1
logging ×1
memory ×1
memory-usage ×1
mod-rewrite ×1
ntpd ×1
postgresql ×1
proxy ×1
redirect ×1
rhel5 ×1
rhel6 ×1
sar ×1
ssh ×1
tomcat ×1
uwsgi ×1
vacuum ×1
virtualhost ×1
x11 ×1