Articles of 性能

VMWare性能的构build服务器 – 可怕或错误的testing?

我们正在研究虚拟化我们的C ++构build服务器。 主要的原因是我们目前使用的工具链,除了在Visual Studio中自己构build外,在Windows XP(或者2003Server)上只能正常运行,次要的原因是pipe理简单(只需克隆映像并准备运行不同的硬件。 最后,安装程序最有可能是每个硬件盒一个虚拟机,因为共享硬件对于C ++版本来说是没有意义的,因为无论如何它都会使CPU和磁盘达到最大。 一位同事在他的开发工作站上做了一些初步的testing,结果令人恐怖: 他测量了下面的构build时间来完整构build我们的Visual C ++ 8(Visual Studio 2005)解决scheme: 桌面/本机与Windows 7:约16分钟 Vmware工作站与虚拟磁盘,客人是Windows XP的:〜1小时21分钟(500%!!!) Vmware WS可直接访问专用物理磁盘并限制为4个核心:〜42分钟(260%!!) 有了这些时机,我们当然不会去虚拟! 我们现在问自己,我们的测量是否做出了错误的假设。 我们搞砸了任何设置,以获得如此可怕的减速C + +构build? 我们是否应该testingESX(i)(?)而不是Workstation? 我们是否应该期待MS Hyper-V的其他function ? (因为我们的IT会更喜欢这个) 相关的问题并没有完全帮助: VMWare播放器,工作站,服务器和ESX的相对性能? VMWare托pipe构build服务器的性能非常差

优化的LAMP / LEMP堆栈脚本

在“让我们试着不重新发明轮子”的angular度来看,我一直在寻找一个打包的LAMP(或LEMP)堆栈,不仅仅是基本的Mysql,Apache,PHP等等,而是APC ,Postfix …基本上是一些将实施公认的实践和标准的安全性,一般性能。 一个标准的默认安装,可以开箱即用的所有的钟声和哨子,需要开始。 使用Apache,Mysql,PHP等来查找基本configuration通常相当容易…但是令人惊讶的是很难find更进一步的东西。 Mercury项目似乎已经被Pantheon项目所吸收,看起来它不再被支持,看着小组页面上的评论,安装脚本似乎已经过时了。 还有BOA项目听起来不错,但超出了我所期待的。 Linode.com有一些stackscripts,但LAMP堆栈不实现邮件解决scheme(我在这里寻找从服务器的基本通知) 当然还有WHM / CPanel,但是我从来没有成为粉丝,我也不是在寻找一个控制面板。 我错过了什么吗? Drupal优化是一个好的,但不是一个交易断路器。

Linux上的Apache2 – 如何追踪性能问题

我在这个话题上停留了一段时间:我怎样才能获得更多关于响应时间在哪里燃烧的细节。 我的问题是响应时间的极端变化。 有时需要服务器5或10秒或更长时间才能响应(尤其是第一个呼叫)。 萤火虫标志这次大多是“等待”。 当我检查本地主机/服务器状态(也出现这种延迟)时,大多数插槽被占用 – 但半秒后,他们又是免费的。 我很难想象有这么多的负载尖峰来解释这种行为。 另一个奇怪的事情:有100K JPG图像的请求,根据服务器状态 – 有时需要1,2,甚至10秒来执行(列Req)。 同时,包含一些CPU负载的PHP脚本在100 ms或更less的时间内处理(其他时间也需要1到2秒)。 其他(较小的)GIF或PNG图像的请求甚至以0毫秒的时间列出。 这是我卡住的地方:有没有什么办法看到需要10秒发送一个简单的JPG图像? 感谢您的好主意! – 系统:我正在讨论Debian Linux(Sequeeze)上的Apache 2networking服务器,它主要提供PHP脚本的页面和图像。 服务器在专业的德国服务器主机上的VPS上运行。 在服务器上没有内存交换(就我所知,从统计数据来看),CPU负载并不是特别高(正常运行时间报告的值在3左右,在极端负载下可以升到32左右 – 我认为应该是8 -CPU系统)。 当然,我永远不能确定服务器上的其他VPS是做什么的。 特殊设置:值得注意的是服务器通过SSL发送所有数据。 我进一步减less了保持活动时间到1秒,因为用户通常会花费很多时间在每个页面上(30-60秒),并且在获取图像之后保持这些连接活跃会快速耗尽服务器的内存(或2 GB我可以使用VPS)。 由于较大的PHP脚本,典型的线程占用20 MB的RAM。 因此只有50个支持保持活动的服务器插槽(MaxClient)。 材料:我创build了一个由服务器site24x7.com观察到的testing页面( https://www.soscisurvey.de/example/?debug&password=demo )(通常在1.4秒内发出响应,但是通常会有尖峰到达20或者30秒)。 为了交叉检查结果,我把它发送到Load Impact ES: http : //loadimpact.com/load-test/www.soscisurvey.de-35648bef3b84d3269e1fc7cb11bf1721

在Microsoft SQL Server 2008 R2上可笑地减慢查询

我开发机器上的MS SQL Server 2008 R2中的查询速度非常慢。 这个问题困扰了我大约一个月。 其他开发人员没有相同的问题,但我们都运行相同的代码。 这似乎是任何查询,包括JOIN需要20多岁,有些需要一分钟。 插入和更新速度很快。 总的数据库大小约为30MB,所以它不是很大。 在laggy查询期间,CPU使用率保持不变,IO率保持较低,页面错误增量也保持较低。 我没有调整任何性能设置在数据库configuration – 这是从设置的所有股票。 连接到SQL服务器的软件与它在同一台机器上运行。 我已经尝试了多个开发数据库副本和已知的罚款客户数据库,都无济于事。 任何想法可能是什么原因造成的?

使用cset shield后,sched_setaffinity失败

我正在使用cset shield来创build一个用户屏蔽与一组cpus cset shield –cpu 1,3,5,7 –kthread on 这个背后的想法是为我的应用程序代码保留这些cpus,并将所有其他任务加上可移动的内核线程推到另一个cpus上。 在我的应用程序中,我创build了4个线程,并在每个线程的上下文中尝试使用sched_setaffinity将每个线程固定到其中一个保留的cpus上。 int cpuNum = 1; // each thread gets one of the cpus pid_t threadId = static_cast<pid_t>(syscall(SYS_gettid)); cpu_set_t cpuSet; CPU_ZERO(&cpuSet); CPU_SET(cpuNum, &cpuSet); if (sched_setaffinity(threadId, sizeof(cpu_set_t), &cpuSet) == -1) perror("sched_setaffinity"); 但是, sched_setaffinity失败并显示Invalid argument 如果我使用cset shield –exec ./TestApp运行我的应用程序,那么固定工作 裸sched_setaffinity呼叫如何失败?

iptables的hashlimit模块的效率如何?

我正在寻找一个解决scheme,以IP为基础的速度限制。 在最近的Intel x86_64 CPU内核上,hashlimit iptables模块可以处理多less个数据包? 1.000 /秒? 1.000.000 /秒?

只用PHP进行PHP / MySQL性能testing

我试图诊断一个服务器的网站加载非常缓慢,但不幸的是我的客户端只提供了我的FTP访问。 我有FTP访问,所以我可以上传PHP脚本,但不能设置任何其他服务器端工具。 我有权访问phpMyAdmin,但不能直接访问MySQL服务器。 这也是一个不幸的Windows服务器(我们已经是一个Linux商店十多年了)。 所以,如果我想在通用服务器上通过PHP来评估MySQL和磁盘速度性能,那么最好的办法是什么? 已经有工具,如: https : //github.com/raphaelm/php-benchmark或https://github.com/InfinitySoft/php-benchmark 但是我很惊讶没有人已经build立和configuration了一些服务器的响应能力。 每次我们评估一个新的服务器环境时,都可以快速比较一下现有的服务器环境,以查看是否有任何exception情况。 我想我只是希望别人已经写了一个脚本来做到这一点。 我知道我有,但那是在Github之前,当时有一个方便的地方可以发布这样的代码。 最初张贴在https://stackoverflow.com/questions/12321498/php-mysql-performance-testing-with-just-php,但build议我重新发布在这里。

在低端服务器上使用x86_64是否会影响性能?

我有一个128 MB的RAM的服务器。 安装Debian 6 x86_64而不是i386会是愚蠢的吗? 服务器的性能会有什么不同吗?

是否对使用较低兼容级别的SQL Server有负面影响?

我们有SQL Server 2008 R2,我们正在使用一个兼容性级别设置为2005(90)的数据库。 我们将在某个时候将其升级到2008年,但同时我想知道是否让数据库处于较低的兼容性级别会对性能产生负面影响? 我发现这个问题意味着可能会有一个负面影响,但它是一个老版本的SQL Server。

IOPS写入增加,磁盘写入延迟下降,Avg req大小减less – 页面加载速度下降

我注意到服务器性能下降(页面加载速度变低),然后我去调查并发现在munin图表(跟踪服务器的资源)磁盘IOPS,磁盘延迟,MySQL查询数量有很大的变化。 这是发生在没有任何改变,我自己的系统或运行在服务器上的程序/网站代码。 这是什么意思? 什么触发了这些变化? 怎么修? 关于问题的更多信息:秩序是由munin图表序列。 资源(与前一次监测大致相同); 每个设备的磁盘IO(增加了x10); 平均请求大小(减lessx2-4); 每个设备的磁盘延迟(平均写入IO等待时间减lessx10); MySQL查询(减lessx2); CPU使用率(增加x1.5); 中断和上下文切换(增加了x10)。 预先感谢您解决这个问题。