我在 Elasticsearch 5.6.3 日志中经常看到这些。这是我应该扩大规模并添加更多 RAM 的信号吗?或者这只是 ElasticSearch 的正常操作?
[GC (Allocation Failure) [ParNew
Desired survivor size 11141120 bytes, new threshold 15 (max 15)
- age 1: 1761848 bytes, 1761848 total
- age 2: 126464 bytes, 1888312 total
- age 3: 165056 bytes, 2053368 total
- age 4: 50584 bytes, 2103952 total
- age 5: 105120 bytes, 2209072 total
- age 6: 99072 bytes, 2308144 total
- age 7: 2024 bytes, 2310168 total
- age 8: 95632 bytes, 2405800 total
- age …Run Code Online (Sandbox Code Playgroud) database java database-administration database-performance elasticsearch
我们正在尝试扩展我们的 Drupal 安装并决定使用一些专用的 MySQL 设备。不幸的是,当我们尝试使用远程数据库时,我们遇到了极其缓慢的情况——页面加载时间从大约 200 毫秒到 5-10 秒。
服务器之间的延迟很小 - 十分之一或二毫秒。
PING 10.37.66.175 (10.37.66.175) 56(84) bytes of data.
64 bytes from 10.37.66.175: icmp_seq=1 ttl=64 time=0.145 ms
64 bytes from 10.37.66.175: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 10.37.66.175: icmp_seq=3 ttl=64 time=0.157 ms
64 bytes from 10.37.66.175: icmp_seq=4 ttl=64 time=0.144 ms
64 bytes from 10.37.66.175: icmp_seq=5 ttl=64 time=0.121 ms
64 bytes from 10.37.66.175: icmp_seq=6 ttl=64 time=0.122 ms
64 bytes from 10.37.66.175: icmp_seq=7 ttl=64 time=0.163 ms
64 bytes from 10.37.66.175: icmp_seq=8 …Run Code Online (Sandbox Code Playgroud) 我正在查看服务器升级的报价。(RHEL)。
服务器上将同时安装 Apache 和 MySQL,但升级的原因是为了提高 DB 性能。CPU已经大规模升级,但我知道磁盘速度也是一个因素。
所以 RAID 10 的性能比 RAID 5 快,但驱动速度有多大区别?
(顺便说一句,RAID 5 配置中的 15k 磁盘是我预算的最高点,因此不考虑 RAID 10 中的 4x15k 磁盘,我认为这将是最佳选择。)
mysql 数据库有大约 2TB 的数据。
我有一个主从复制运行。使用数据库的应用程序仅对 2 个从站之一执行读取 (SELECT) 查询,并在主站上写入 (DELETE/INSERT/UPDATE) 查询。应用程序的读取方式多于写入。
如果读取(SELECT)查询有问题,我们可以添加另一个从数据库并告诉应用程序,还有另一个salve。所以它可以很好地扩展......
目前,由于写入,master 正在运行大约 40% 的磁盘 io。
所以我在考虑如何在未来扩展数据库。因为总有一天主人会超负荷。
那里有什么解决办法?
也许是mysql集群?如果是这样,将数据库切换到 ndb 是否有任何陷阱或限制?
非常感谢提前... :)
在 SQL 中存储时间的正确方法是什么?
有一个只在发生动作时才关心的领域。示例值将是 2:30 PM 或 14:30,这对我来说无关紧要。这个值永远不会 (ha, ha) 被添加、减去、比较等。它只是一个静态属性。
我们的 mongodb 进程始终使用 >100% 的 CPU(这是在 Linode 上的 Ubuntu 64 位服务器上),我们正在努力提高性能。
我们发现的一个建议是 MongoDB 和 NUMA 不能很好地协同工作:http : //docs.mongodb.org/manual/administration/production-notes/#production-numa
我注意到它/proc/sys/vm/zone_reclaim_mode已经设置为 0 并且当前未安装 numactl。
我的问题:如何确定我们的服务器是否已经启用了 NUMA,以及我们是否应该按照上述链接中的建议使用以下命令启动 Mongo?
numactl --interleave=all /usr/bin/local/mongod
Run Code Online (Sandbox Code Playgroud)
这是以下内容/proc/cpuinfo(前 3 个部分被抑制,因为除了“处理器”行外,输出是相同的):
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 45
model name : Intel(R) Xeon(R) CPU E5-2650L 0 @ 1.80GHz
stepping : 7
microcode : 0x70a
cpu MHz : 1800.077
cache size : 20480 KB
physical id : 0
siblings : …Run Code Online (Sandbox Code Playgroud) 我需要尽快将行插入到具有新创建的表且没有索引的数据库中。我正在查看 20M 行的数量级,这还不算多。InnoDB 或 MyISAM 表会给我最好的性能吗?
显然,我也在研究其他批量加载技巧。
我知道这是一个可怕的、笼统的问题,没有好的答案,我提前道歉,但我想知道是否有人可以对非常广泛的估计进行尝试。
假设您有一台运行在价值约 1000 美元的现代硬件上的专用 MySQL 服务器。
假设普通用户每分钟发出 20 个读取请求和 5 个写入请求——都是直接查询,没有连接;主要是从大约 10,000,000 行的索引表中“按 UUID 选择此行”的路线。
非常、非常、非常、非常粗略地估计,在您“推送”之前,您希望这样的服务器能够处理多少并发用户。
我经常查询 sys.dm_exec_query_stats 以查找昂贵的查询。我注意到在某些情况下 total_worker_time 大于 total_elapsed_time。有谁知道为什么会这样?我现在正在查看一个示例,其中 last_worker_time 大于 last_elapsed_time。
也许工作时间是多个处理器/内核的总和?
我现在有一个四核至强、8GB 内存和 2 个 1TB SATA 驱动器。我试图弄清楚如何扩展我的应用程序以每天处理尽可能多的负载和流量。我有一个行业网站,目前每天大约有 30,000 次注册,60k UV 和每天 600-1,000,000 次综合浏览量。速度太慢了,我不得不关闭服务器,现在我正在赔钱和流量。
我很确定它的一部分是 PHP 代码和 MySQL 查询(从印度雇佣他们)。我可以做些什么来优化并确保服务器处理尽可能多的流量而不会出现瓶颈。因为我每天都在期待更多的注册。它是一个数据库密集型站点,因为它是某个特定领域的“网络”站点,您必须登录,因此一切都围绕 MySQL。
附注。CentOS 5 64 位,PHP5,MySQL5。我知道数据库是 MyISAM,而且我很确定他们也没有很好地索引表。
感谢您的建议!
performance-tuning dedicated-server database-performance centos5
mysql ×5
database ×2
centos5 ×1
drupal ×1
java ×1
mongodb ×1
numa ×1
performance ×1
raid ×1
replication ×1
scaling ×1
sql ×1
sql-server ×1
time ×1