我很欣赏这个问题可能含糊不清/太宽泛,但我正在寻找基本原则/摘要。
例如,像 Google 或 Facebook 这样的网站如何处理它收到的数十亿次页面浏览量?
我知道循环 DNS,据我所知,它为访问者 A 提供一个 IP,然后以循环方式为访问者 B 提供另一个 IP,依此类推。
这些站点是否运行多个(数百个?)服务器,每个服务器上都有“google”网站的副本,并且全部同步?
尝试总结一下 - 拥有数百万页面浏览量的大型网站如何实际处理流量?它们是如何维护的?在哪里可以获得设置此功能的经验?
我想了解更多信息,但实际上不需要这样的设置,我发现很难获得案例研究或材料以了解更多信息。
希望这在一定程度上有意义。谢谢。
尝试允许端口 22 上的传入 ssh 流量。默认行为是丢弃所有传入流量。
我遇到了 2 篇关于如何允许流量的文章。然而,它们是不同的。
## open port ssh tcp port 22 ##
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
对比
# Allow all incoming SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED …Run Code Online (Sandbox Code Playgroud) 您对流量优先级/管理的策略是什么。
我并不是真的要获得数据包整形解决方案的列表。相反,我想获得有关交通管理策略的建议,包括:
以下是我听说过的一些解决方案,但没有太多(如果有的话)使用它们的经验:
一些注意事项:
我们经常在互联网上看到一些著名的网站,例如 Facebook、Google、Yahoo……每个月都有数亿独立访问者。
但是对于较小的(或者我应该说通常的)网站来说,数量级是多少?
有人可以举例说明什么是小型、中型和非常高的流量,例如每月的访问范围。
我只是想有一个规模并能够对网站进行分类,目前我没有任何参考。
在中等规模的网站上工作,我们总是构建自己的实时流量图表解决方案,并以大屏幕任务控制风格显示这些解决方案,以便如果流量开始攀升、负载开始攀升、延迟增加等,我们可以开始观看它在监控系统关闭之前主动。
现在我在一家新公司开始工作,我们需要同样的东西,是否有公司拥有任务控制风格的实时网站监控软件产品?不是网络分析,而是实时绘制诸如同时用户、页面浏览量、点击量、平均 HTML 渲染时间等内容的图表。由于 Javascript 跟踪不足,因此需要在每个网络服务器(或负载平衡器)上安装某种代理例如检测垃圾邮件机器人何时开始攻击该网站。我用谷歌搜索过,找不到任何东西。
我目前使用 Amazon S3 来满足我的大部分静态文件服务需求,但我的每月账单变得非常昂贵。我使用日志做了一些粗略的计算,在高峰时间,我最昂贵的亚马逊存储桶正在处理大约100180 Mbps 的流量。主要是 50K 以下的图像。
S3 在存储和冗余方面非常有帮助,但如果我能提供帮助,我真的不需要为带宽和 GET 请求付费。我在自己的数据中心有很多廉价的带宽,所以我将一个 nginx 服务器配置为缓存代理,然后用我的大部分文件(大约 240 GB)准备缓存,这样我的磁盘就不会像疯了一样写入空缓存。
我尝试切换,但我的服务器窒息了。
看起来我的磁盘有问题 - 这台机器有 4 x 1 TB SATA 磁盘 (Barracuda XT) 以 RAID 10 设置。这是我手头唯一有足够存储空间用于此的东西。我很确定 nginx 设置正确,因为我已经将它用作另一个较小的 Amazon 存储桶的缓存代理。假设这是一台机器的合理流量,也许 SSD 值得一试。
如果您处理大量静态文件服务,您使用什么硬件?
附加信息
文件系统:ext4,已挂载 noatime,barrier=0,data=writeback,nobh(控制器上有备用电池) Nginx:worker_connections = 4096,worker_rlimit_nofile 16384,worker_processes 8,open_file_cache max=100000 inactive=60m
我正在尝试使用规则上的nftables命名来跟踪从一组特定 IP 地址(IPv4 和 IPv6)传输的总数据。counter我的目标是能够在一个日历月内跟踪这一总数,以便我可以根据使用情况进行计费。
相关规则如下:
add table stats
add counter stats os-traffic-4
add counter stats os-traffic-6
add chain inet stats INPUT { type filter hook input priority 0; }
add rule ip stats INPUT ip saddr 192.168.123.123 counter name os-traffic-4
add rule ip stats INPUT ip saddr 192.168.123.234 counter name os-traffic-4
add rule ip stats INPUT ip saddr 192.168.123.345 counter name os-traffic-4
add rule ip6 stats INPUT ip6 saddr 1234:1234:1234:1234:1234:1234:1234:1234 counter name os-traffic-6
add rule …Run Code Online (Sandbox Code Playgroud) 我正在为 Linux 中的带宽管理编写软件。我使用 TC 进行带宽整形,效果很好。我想在一段时间内限制用户带宽。例如:
最好的方法是什么?
我正在尝试使用 Dijkstra 代码找到两个主机 H1 和 H2 之间的最短路径。在该路径上的其中一个开关中设置条件。条件是:如果数据包发送到H2则自动改变路径。
我正在使用 Mininet,我想通过过滤进入交换机并发送到 H2 的数据包来使用tc来减少出站带宽,然后 Dijkstra 代码将改变路径。
我想问一下,我可以使用(tc qdisc)来控制给定链路上出站带宽的使用吗?请问TC物理链路或仿真链路上的效果呢?
我正在尝试在 nginx 中实现图像热链接保护问题,我需要帮助。我有一个很大的问题,我的网站图像被提交到像 StumbleUpon 这样的社交网络,并带有像这样的直接链接
现在我想阻止对它们的访问,但我无法在 nginx.conf 文件中实现热链接预防。下面是我的 nginx.conf 文件,我应该将代码放在哪里?
要实现的盗链代码:
location ~ \.(jpe?g|png|gif)$ {
valid_referers none blocked example.com *.example.com;
if ($invalid_referer) {
return 403;
}
}
Run Code Online (Sandbox Code Playgroud)
我当前的代码如下
{
#user nobody;
worker_processes 10;
worker_rlimit_nofile 81918;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 81918;
multi_accept on;
}
http {
client_body_buffer_size 10K;
client_header_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 2 1k;
client_body_timeout 32;
client_header_timeout 32;
sendfile_max_chunk 512k;
keepalive_timeout 5; # default 65
send_timeout 20; # default 60 …Run Code Online (Sandbox Code Playgroud) traffic ×10
networking ×4
linux ×3
bandwidth ×2
nginx ×2
accounting ×1
amazon-s3 ×1
analytics ×1
hotlinking ×1
iptables ×1
latency ×1
logging ×1
monitoring ×1
nftables ×1
port ×1
qos ×1
scalability ×1
server-setup ×1
ssh ×1
tc ×1
web ×1
web-server ×1