所以我有一个具有非常高带宽服务器的客户端。就需求而言,其服务的点击量非常低 - 静态 jpeg 和文本。
服务器规格:
我目前的 apache 配置如下:
上周我看到每秒大约有 2000-3000 次 apache 访问,没有任何问题。这转化为 80-90Mbps 和 1 左右的负载,峰值约为 5,瞬时极端峰值为 30-50,当 apache 将重新启动并重新生成所有进程时。内存使用量约为 40GB。流量增加了,我现在看到每秒有 3000-4000 次 apache 访问,而且 http 不稳定。尽管 apache 偶尔会重新启动,但我在 apache 运行时遇到了没有 http 连接的时期,并且有空闲的工作人员和开放的插槽。负载在稳定和频繁尖峰时约为 2,这无疑是我的连接问题,但我不确定为什么。RAM 使用量为 50-60GB。吞吐量约为 130Mbps。(当我的包裹是 100Mbps 时,我不确定我是如何获得超过 100Mbps …
我正在考虑租用 384 MB 内存的 VPS。它将在 CentOS 上运行,并拥有带有 Apache 2 / MySQL 的 cPanel 和带有 nginx / sqlite 的 Phusion Passenger。
你觉得它有足够的内存吗?它将为大约 10 个小流量 PHP/MySQL 网站和 3-4 个小流量 Ruby on Rails 应用程序提供服务。
感谢您的建议。
我开发了一个简单的 REST 风格的 Web 应用程序,由 2 个基本模块组成。
模块#1:服务器暴露 REST Web 服务,无状态,部署在 Tomcat 中
模块#2:REST 客户端
有一个部署了 Module#1 的 Tomcat 实例。
我想水平扩展它并在第二台机器上运行第二个 Tomcat。在负载平衡/集群方面,我是一个完整的新手,这就是我需要帮助的原因。不需要会话复制和故障转移。
我应该如何处理它?
我做了一项研究,这些是我看到的可能的方法:
1.无集群,无第三方代理。
我在第二台机器上运行第二个 Tomcat。由于我可以控制客户端和服务器,我可以在客户端提供一个非常基本的算法并随机选择一个主机,这将在 API 调用之前选择。不需要配置集群,也不需要提供第三方代理。是否有任何潜在的陷阱?这是正确的方法吗?
2.Tomcat集群
说到Tomcat集群配置,是不是说有2个Tomcat在单独的机器上运行,并且他们的配置说它们是一个集群?我需要一个单独的库,工具吗?Tomcat 就够了吗?我会像第一种方法一样运行 2 个进程吗?
3.Tomcat负载均衡器
Tomcat集群和Tomcat负载均衡器有什么区别?再次,我需要一个单独的库,工具吗?Tomcat 就够了吗?
4. 第三方代理
我找到了一些关于 HAProxy 之类的信息。这是否意味着,所有调用都经过它,代理决定选择哪个主机?这是否意味着除了两个Tomcat进程之外还会有第三个单独运行?假设我在两台不同的机器上有 2 个 Tomcat,这个代理在哪台机器上运行?
我应该选择哪一个?我误解了什么吗?文章,答案表示赞赏。
我有一个 Drupal 站点,它在启动时可能会获得非常高的命中率。我们为首次发布租用了一个非常强大的服务器,之后我们将缩减规模。该服务器具有 Xeon E5-2670 8 核处理器 @ 2.6ghz 和 30gb RAM。
MySQL 已经获得了大量内存,我已经确认 MySQL 实际上是通过“top”使用这些内存的:
innodb_buffer_pool_size = 15G
Run Code Online (Sandbox Code Playgroud)
PHP 已经获得了大量内存(几乎可以肯定是太多了,因为我注意到评论说“每个脚本”):
memory_limit = 6000M
Run Code Online (Sandbox Code Playgroud)
Apache 配置是开箱即用的默认配置:
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
Run Code Online (Sandbox Code Playgroud)
我一直在运行 JMeter 测试(基本上“在站点上抛出尽可能多的线程并尽可能快地请求页面”)并且我可以看到性能随着并发用户数量的增加而下降:
但是,机器上的负载仍然很低。在测试期间,“top”报告有 26gb 的可用内存,“uptime”的平均负载不超过 0.63。我怀疑我们仍然有很多资源可以用来提高性能,但是 Apache 并没有充分利用这些资源。也就是说,我是一名开发人员而不是系统管理员,我也不是服务器性能方面的专家。
为了提高性能,我可以做出的最佳改进是什么?
可能的重复:
您如何对网站进行负载测试和容量规划
首先.. 非常感谢本网站的创建者以及本系列中的其他人。作为先行者......我对服务器及其设置几乎一无所知,但我正在尝试了解一些特定设置所需的内容,从而知道在获取报价和反过来制作时需要什么当然我有报价中需要的所有内容......有一个相对现实的报价。
好的..所以问题。
我希望设置一个服务器,我将在该服务器上托管一个名为Active Collab的产品。这将被许多人访问,最终 50+。最终也可能让客户访问它,这可能会达到数千个,但最初都是内部的。我能想到的事情是:
我们不能让服务器停机超过几分钟,最好永远不要停机。这会是某种镜像选项吗?
添加存储的能力,因为文件和文档将通过该程序添加并存储在服务器上。我不知道确切的需求是什么,所以扩展的能力会很好。
我是否正确假设最理想的情况是在本地管理我们自己的服务器?某些在线“专用”选项有什么缺点吗?
我可能是,也可能是,忘记了一些事情,所以任何事情都是公平的游戏......任何见解将不胜感激。提前致谢!
可能的重复:
您如何对网站进行负载测试和容量规划
有多少人可以同时访问一个网站/系统?如果网站中的用户过多,会发生什么?预防它的最佳方法是什么?
可能的重复:
您如何对网站进行负载测试和容量规划
我有一个网站,我想在我自己的电脑上托管它,但我想知道它是否足够好。
该网站检查用户是否登录,然后显示来自 mysql 数据库的 15 个项目(标题、描述)以及每个项目的评级(存储在另一个数据库中)和评论(另一个数据库)。它还显示一些统计信息(项目数、评论)。我也有每个项目的图像。
我的规格是:AMD Athlon 64 X2 双核处理器 5600+ 2.90 GHz
内存:4.00GB
视窗 7 64 位
那么您认为它可以处理多少访客和物品(一次或每天)?我的互联网连接很好,大约 7-10 mb 上传和相同的下载速度
我有一个很大的目录,里面有很多缓存文件,我想重新组织这些文件以获得最大性能(访问时间)。
PHP/Perl 脚本(随机)访问文件。这些脚本生成绝对路径并读取文件。没有目录列表:几乎只有fopen文件的绝对路径。
当前目录层次结构是:cacheDir/d4/1d/d41d8cd98f00b204e9800998ecf8427e.dat
所以有 256 个一级子目录(d4在示例中)和 256 个二级子目录(1d在示例中)。平均每个二级目录大约有 200-300 个文件。
问题:当出现网络流量高峰和大量fopen's in 时cacheDir,流量iowait正在增长,减慢系统速度,出现非常高的负载和明显的延迟。只有在cacheDir访问文件时才会出现这种高负载。如果我以相同的频率访问其他目录/文件,则磁盘和系统运行良好。
我想知道更改缓存目录结构是否会提高性能?更改为(例如):(cacheDir/d/4/1/d/8/d41d8cd98f00b204e9800998ecf8427e.dat16 个子目录在:1st、2nd、3rd、4th 级别,并且(平均)每个 4th 级别子目录有 15 个文件)。
我知道在简单的台式机 SATA III 驱动器上的 Software RAID 1 不是速度怪物,但也许有一些优化文件系统的好方法?
请注意:
dir-indexnoatimee2fsck -Df可能的重复:
您如何对网站进行负载测试和容量规划
我需要开发一个连接到多个外部系统的系统,以获取 XML 数据并使用计算出的 XML 数据进行回复。我应该使用 EC2 + RDS 还是更大的 EC2 ?
可能相关数据:DB大小约50GB,每月服务器数据传输在120到150GB之间。
EC2是WinServer,RDS应该是SQL Server。
如果我要为大国(俄罗斯)创建视频交付站点,我应该使用CDN进行视频吗?我相信,在东京(国家东部)和法兰克福(国家西部)两个地方存储视频比将视频加载到 CDN 便宜得多。但是,我有点担心视频加载速度,但我应该担心吗?
抱歉,我不太擅长这类问题。所以,至于技术细节。
我想,这将是相当大的服务。大部分用户位于一个国家/地区。我们自己的服务器输出速度约为 220Gb/s。
从下面的回答中,我明白我很可能需要 cdn,但是在选择时我应该记住哪些参数?
有很多关于为 Linux 优化 apache 的文章。我目前正在运行一个 xampp 网络服务器,但我不知道如何提高我的 apache 速度并减少我的硬件使用。
我想确保我的 xampp 配置处于最佳和安全的方式。
apache-2.2 ×4
linux ×3
web-server ×3
performance ×2
windows ×2
amazon-ec2 ×1
cdn ×1
cluster ×1
drupal ×1
ext4 ×1
haproxy ×1
hard-drive ×1
iis ×1
memory ×1
mysql ×1
php ×1
rds ×1
scalability ×1
sql-server ×1
tomcat ×1
video ×1
vps ×1
website ×1
xampp ×1