如何最好地调整Windows PC用于开发的目的?
虚拟化有很多好处,但有时虚拟化服务器需要更多的性能,应该转移到物理上。 我的问题是,你怎么知道这些时间? 我正在寻找可测量的数据和指标,显示将服务器移动到自己的物理盒子将会对性能产生重大影响。 就我个人而言,我对Windows感兴趣,但大概所有平台的要素都是一样的。
2个Linux主机之间的延迟约为0.23ms。 他们由一个开关连接。 Ping&Wireshark确认延迟编号。 但是,我没有任何关于什么是造成这种延迟的可见性。 如何知道延迟是由于主机A或B上的NIC还是交换机或电缆? 更新:.23毫秒的延迟对我现有的应用程序来说是不好的,它以很高的频率发送消息,我正在试着看看它是否可以降低到.1ms
我正在运行一组负载testing来确定以下设置的性能: Node.js test suite (client) –> StatsD (server) –> Graphite (server) 简而言之,node.jstesting套件每隔x秒向一个位于另一个服务器上的StatsD实例发送一组量度的指标。 然后,StatsD每秒钟将指标刷新到位于同一台服务器上的Graphite实例。 然后我看看testing套件实际发送了多less指标,以及Graphite收到了多less指标,以确定testing套件与Graphite之间的数据包丢失情况。 但是我注意到,我有时会得到非常大的数据包丢失率(请注意,它是使用UDP协议发送的),从20%到50%不等。 那么当我开始研究这些数据包被丢弃的位置时,就会发现StatsD可能会带来一些性能问题。 于是我开始在系统的每个部分logging指标来追踪这个下降发生的地方。 这是事情变得怪异的地方。 我正在使用tcpdump来创build一个捕获文件,我testing完成后运行。 但是每当我运行tcpdump运行testing,数据包丢失几乎是不存在的! 它看起来像tcpdump以某种方式增加我的testing的性能,我不明白为什么以及如何做到这一点。 我正在运行以下命令在服务器和客户端上loggingtcpdump消息: tcpdump -i any -n port 8125 -w test.cap 在一个特定的testing案例中,我发送了40000个指标/秒。 运行tcpdump时的testing数据包丢失率约为4%,而没有数据包丢失率约为20% 两个系统都以Xen VM的forms运行,具有以下设置: Intel Xeon E5-2630 v2 @ 2.60GHz 2GB内存 Ubuntu 14.04 x86_64 我已经检查过的潜在原因: 增加UDP缓冲区的接收/发送大小。 影响testing的CPU负载。 (最大负载40-50%,客户端和服务器端) 在特定的接口上运行tcpdump而不是“任何”。 使用'-p'运行tcpdump来禁用混杂模式。 仅在服务器上运行tcpdump。 这导致20%的数据包丢失,似乎不影响testing。 仅在客户机上运行tcpdump。 这导致了性能的提高。 将netdev_max_backlog和netdev_budget增加到2 […]
我有5个Web服务器上运行的memcache,所有这些都在php的主机列表中,并在前端进行负载平衡。 因此,因为memcached应该是分布式的,PHP的客户端将决定哪个节点写入键/值对,并保留一个logging,以便以后从同一节点检索权? 或者是PHP客户端代码不够聪明,而是把数据写入所有的服务器,然后从池中随机抽出一个读取数据? 但如果是这样的话; 写入主机列表/池中的所有实例; 那么像http://repcached.sourceforge.net/这样的工具的目的是什么,它复制冗余数据。 我想问的原因是因为所有的负载均衡服务器正在运行它,如果它确实写入到池中的所有服务器,那么它似乎打败了分发的目的,所以我应该强制PHP从主机在本地主机的主机列表中。
如果有人能够指出我对rabbitmq(在“平均”硬件,fwiw)的合理比例/限制的方向,或者将您的经验发布在其performance上,我将不胜感激。 我试图了解一下队列数量,队列用户数量,成千上万的监听者对扇出队列的性能影响,任何人都可能在高容量环境下运行兔子的硬数。
当一台Linux服务器正在提供许多并发请求来读取许多不同的文件时,是否这样做: 寻findFile_1,读取整个文件,然后寻找File_2,读取整个文件,然后寻找File_3等 寻findFile_1,读取它的一部分(直到readahead的值?),然后寻找File_2,读取它的一部分,然后回到它已经离开的File_1,多读取它,然后寻找File_3等,等等 如果是第二种情况,那么服务器做的比寻求更多,这会大大减缓。 在那种情况下,我可以做些什么调整?
Ubuntu有一个cron作业,它可以查找和删除旧的PHP会话: # Look for and purge old sessions every 30 minutes 09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] \ && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 \ -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) ! -execdir \ fuser -s {} 2> /dev/null \; -delete 我的问题是,这个过程需要很长时间才能运行,有很多的磁盘IO。 这是我的CPU使用率图: 清理运行是由蓝绿色尖峰代表。 在这个期间的开始,PHP的清理工作安排在默认的09和39分钟时间。 在15:00,我从cron中删除了39分钟的时间,所以两倍大小的清理工作只能运行一半(你可以看到峰值是宽度的一倍,频率的一半)。 […]
背景 我有一个小的logrotate misshap … Logrotate会通过misstake旋转归档日志,导致/var/log/中文件的二次增长。 而当我发现错误的时候, /var/log/已经包含了几百万个文件 。 我设法(在一些hairloss和查找/ sed / grep魔术后)删除所有有问题的文件,并修复我的logrotateconfiguration。 并认为一切都很好… 问题 每当ls / du -hs或以其他方式列出/var/log/ (其中现在包含80mb的存档/日志以及最多几百个文件)的内容时,执行该过程的过程会持续一两分钟。 我确实相信这与logrotate misshap有关,但我不确定,可能是别的。 无论如何,我不知道从哪里开始debugging或寻找解决办法。 请帮忙:3 其他信息 uname -a Linux xxx 3.3.8-gentoo #18 SMP Sat Sep 21 22:44:40 CEST 2013 x86_64 Intel(R) Core(TM)2 CPU 4400 @ 2.00GHz GenuineIntel GNU/Linux cat /proc/meminfo MemTotal: 2051552 kB MemFree: 75612 kB Buffers: […]
我想知道是否有人有任何经验,build立一个有目的的环境devise时,通过networking发送/接收请求性能差。 我正在开发一个应用程序,并希望在性能极差的networking上保持稳定。 有谁知道是否可以configuration路由器来: 间歇性丢弃数据包 间歇地引入数据包延迟 数据包中有损坏的数据(这不是必须的,因为它需要打开数据包,更改数据和更新校验和,因为TCP层会捕获这种types的问题) 如果在路由器上不可行,是否可以configuration一台计算机作为路由器,然后执行此操作? 非常感谢!