Articles of 性能

负载平均值较高,但资源未得到充分利用

据我所知,我的服务器(Ubuntu Linux 8.04.1)的负载平均值太高,实际上我发现它在高峰时间减速或停止服务。 这是一个相当支持LAMP的单一网站(图像托pipe),显然是从磁盘服务了很多内容(图片),但他们需要通过PHP来服务。 除了使用caching/代理方法的一般build议,我迷失在为什么它显然使用不到一半的可用资源(4GB内存,它是一个Linode 4096)。 我在Linux上是个不错的select,所以请询问一下可能有用的东西。 这是htop的一部分(MySQL显示98.9%的CPU使用率,但是这是微乎其微的,它几乎总是使用0。*%): 1 [||||||||||||||||||||||||||||||||||| 69.0%] Tasks: 355 total, 6 running 2 [||||||||||||||||||||||| 44.8%] Load average: 18.32 15.02 11.58 3 [|||||||||||||||||||||||||||||||||||| 71.9%] Uptime: 01:10:22 4 [||||||||||||||||||||||||||||| 57.9%] Mem[||||||||||||||||||||||||||||||||||||||2190/4096MB] Swp[| 0/127MB] PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 2345 mysql 18 0 177M 72640 5140 S […]

networking性能下降(Ubuntu)

我没有设置这个 NodeJs TCP服务器,并用消息flooder进行testing。 只是看看服务器的性能如何。 虽然消息吞吐量是伟大的,如果我在同一台计算机(Ubuntu)上运行服务器和消息flooder,吞吐量dramaticaly减less,如果我启动computer1(ubuntu1)和计算机2(也是Ubuntu)上的消息flooder的服务器。 两台PC都在同一个networking上。 事实上,它们是直接相连的。 我开始search互联网的原因,我想我需要在两个Ubuntu的PC上调整TCP,但直到现在我还没有成功。 有没有人遇到这样的问题,或有人可以帮我吗? 谢谢 这里泛滥的代码是: var net=require('net') var client = net.createConnection(5000, "10.0.0.2") client.addListener("connect", function(){ for(var i = 0; i < 1000; i++) { client.write("message "); } })

加快与MySQL的连接

所以这里有一个给你 任何想法,以缩短连接到MySQL数据库所需的时间? 我想知道的原因是因为我发现连接到数据库只是增加了一秒钟到页面的渲染,这似乎有点长,考虑到Apache和MySQL在同一台机器上运行,并且mysqli_connect连接到本地主机。 当连接需要一秒时,我最终所做的任何查询都不会在渲染/加载时间上增加大量时间,这真是太遗憾了。 任何缩短打开连接所需时间的方法?

SQL Server文件增长极其缓慢

我有一个大小约为100 GB的数据库,并且存在扩大数据库大小的严重问题。 这是我的设置: SQL Server 2005,版本9.0.4035 操作系统:Windows Server 2003 SP2 x86 在Hyper-V上以guest身份运行 不同磁盘上的数据文件和日志文件(虚拟和物理) MDF文件的磁盘是500 GB,没有其他东西,所以没有碎片问题等。 起初,我有10%的自动增长的默认设置。 当数据库大约30GB左右时,超时开始失败,所以我将其更改为1000MB。 现在,即使这个失败,所以我试图手动增加文件大小。 我不得不取消我的尝试,因为他们从来没有完成,直到我增加了50 MB ,并花了22分钟 ! :-o必须严重破坏 我一直在监视所有磁盘(系统,数据和日志)的平均磁盘队列长度,除了保存日志文件的磁盘以外,它们都是空闲的,这个磁盘队列的长度总是超过10个。在此操作之前和之后它也是空闲的。 这是我用来手动增加文件大小的命令(我将50 MB添加到初始大小): ALTER DATABASE [MyDB] MODIFY FILE ( NAME = N'MyDB', SIZE = 103987200KB , FILEGROWTH = 51200KB ) 编辑 :当我创build这个数据库几个月前,我用10 GB初始化它,我不记得我有任何显着的延迟。 我也可以例如还原2或3 GB的服务器上的其他数据库,它只是正常工作。 这台机器上的I / O性能不是很好,但远远不够。 有任何想法吗? 提前非常感谢!

Apache,PHP和Symfony的性能问题

更新: ================================================== ==============我终于find了oprofile的原因。 这是因为Symfony的路由caching。 我们有很多不同的网页和symfonycaching在一个文件(序列化的数据)。 所以caching文件变大,需要更多的CPU来序列化和反序列化数据。 我禁用路由caching后,一切顺利 ================================================== ============== 我们有三个LVS(Apache 2.11 + PHP 5.26)的Web服务器,我们使用Symfony 1.0来开发产品。 但是最近我们用Symfony 1.2.7更新了我们的产品,而且我们遇到了严重的性能问题。 我们使用Ganglia来监视我们的服务器。 在更新之前,Web服务器的平均负载低于1.更新之后,负载急剧增加,最高负载为80(我可以看到Ganglia的CPU使用量增加很多)。 我找不到原因。 是因为Symfony框架? (但根据Ganglia的说法,负载不应该如此迅速地增加)。 顺便说一句,在我们的新产品中使用了大量的AJAX,这意味着至less有5-7个PHP请求打开一个页面。 这是原因吗? 任何人都可以帮我find所有可能的原因吗? 或者我应该提供哪些信息来诊断? 提前致谢,期待您的回复〜

本地Devel服务器缓慢192.168.0。* vs本地主机

我想把我的开发网站暴露给家里更多的电脑。 我发现,通过像192.168.0.198这样的内部IP访问它比起本地主机来说是非常慢的。 我宁愿训练自己一点点debugging这些情况,因为可能没有一个单一的答案。 服务器运行nginx的静态内容,redirect到Apache(127.0.0.1:8888)为dynamicDjango生成的HTML。 我也运行postgresql和solr数据库和search索引以及memcache。 我的django settings.py文件列出了127.0.0.1和192.168.0.198,因为它是内部ips。 DB后端configuration为localhost。 memcached和solr后端configuration为127.0.0.1。 我的/ etc / hosts文件看起来像: 127.0.0.1 localhost localhost 192.168.1.198 localhost 127.0.1.1 jacob-desktop 127.0.0.1 redmine (我正在使用基于名称的虚拟主机访问我的redmine项目pipe理系统,直到我安装了nginx – 就是这么做的)。 有趣的是,访问静态主页的速度似乎比具有DB / memcached / solr访问的后续页面快得多。 很多我的困惑源于localhost / 192.168.0.198 / 127.0.0.1之间的区别究竟是什么,这些不同的ip如何与networking基础设施(在我的情况下,糟糕的dlink路由器)进行交互。 此外,有不同的系统,如solr和postgresql,我不知道我想要使用的IP。 我们的目标是configuration这些区域,以便我能够实现水平可伸缩性的正确path – 这意味着127.0.0.1可能不会在我的db / search索引所在的位置。

高度随机的PostgreSQL数据库主机

我们正在与一个中等规模的项目(在我们的工作集大约12GB的数据)非常成功地使用PostgreSQL, 目前我们正在使用7200RPM磁盘的2GB RAM机器。 即使在聚簇表和适当的索引,优化的查询和devise等方面,你也可以想象,性能会变得很糟糕。我们大部分时间都花在I / O上,无论是读写操作。 我们把另一个2GB的RAM放在盒子里,还有一个10kRPM的Velociraptor磁盘,但这些只是临时措施,而我们正在研究如何从这里继续。 整个系列都经常更新,所以固态硬盘也出了问题(太贵了,这个项目是两个没有钱的学生运行的!),我有兴趣听到其他人有没有什么build议, £100 /月)服务器/ VPS解决scheme,将涉及12-16GB的RAM和/或快速硬盘。 或者,更好的办法是解决问题。 有没有专门从事数据库托pipe的主机? 这是一个'上帝必须有一个更好的方式'的职位,但其基本要点是,有主机或解决scheme在这个成本点,如果没有,为什么不,为什么不是这样便宜的解决scheme有什么问题?

如何为专用服务器/ CDN提供商进行“性能testing”?

如果你能简单地向我解释什么是为根/专用服务器或CDN提供商进行“性能testing”所需的步骤,那将是非常客气的。 什么工具(也许有人通过查看统计数据知道这一点)瑞安使用他的testing: http : //blog.ryankearney.com/2009/12/comparing-cdn-performance-part-2/comment-page-1/ #注释 什么是“关键绩效指标(KPI)”我应该考虑和衡量: 响应时间(延迟时间) 吞吐量 还有什么? 衡量这些KPI的最好和最简单的工具是什么? =>我的问题的动机是,我必须select一个CDN /专用服务器提供商,我最喜欢的公司之一在我所居住的国家没有数据中心,但在邻国。 我想要和必须比较一下它对“networking性能”的影响,看看它们是否像我国的提供商一样“快速和良好”。 非常感谢你!!! 一月

SMB / FTP的networking传输速率

我们正试图优化从客户端PC到文件服务器的networking传输速率,但没有运气。 如果我运行一个客户端PC(Windows XP)和我们的服务器(Linux)之间的一个大的TCP窗口大小(默认是8kb),我可以得到60 Mbps的iperftesting。 但是,当我运行一个SMB传输速度testing,我得到的是大约35 Mbps。 当我运行一个FTP传输速度testing,我得到的是大约32 Mbps。 我认为这是与TCP窗口大小,但现在我已经增加到256960,没有任何区别。 任何想法我做错了什么? 或者是35 Mbps我应该期待什么? 干杯, 插口

解决高SQL Server编译/批处理比率问题

我有一个SQL Server(四核x86,4GB内存),它不断具有“SQLServer:SQL统计:SQL编译/秒”和“SQLServer:SQL统计:SQL批/秒”几乎相同的值。 这可以解释为运行100%即席查询的服务器,其中每一个都必须重新编译,但在这里并不是这样。 sys.dm_exec_query_stats DMV列出数百个查询计划,其执行计数远远大于1。 有没有人有任何想法如何解释/排除这种现象? 顺便说一句,服务器的一般性能计数器(CPU,I / O,RAM)都显示非常适度的利用率。