Articles of 优化

CPU绑定的过程?

我有一个postgresql服务器进程在我的Windows电脑上运行。 在运行查询时,我可以在进程pipe理器中看到,它在双核处理器上使用了49%的CPU容量,同时它也读取了大约5 mb / s的数据。 我的问题是,如果有可能得出这个过程是CPU限制的结论? 对我来说,它并不明显,它不需要CPU从磁盘读取。

如何优化一个“写一次,读多”types的基础设施的PostgreSQL服务器?

问候, 我正在开发一个软件,用于在PostgreSQL数据库中logging条目(以及相关的标记)以进行存储和检索。 我们从未更新任何数据,一旦插入; 当条目变得太旧时,我们可能会删除它,但是一天最多一次。 存储的条目可以由用户检索。 新条目的插入可以相当快速和有规律地进行,因此数据库通常会有数百万个元素。 使用的表格非常简单:一个用于标识,原始内容和插入date的表格; 和一个存储标签及其与id相关的值的表格。 用户search主要涉及标签值,因此SELECT通常由两个表上的ID上的JOIN查询组成。 把它们加起来 : 2桌 很多INSERT 没有更新 一些DELETE,最多一天一次 用JOIN生成一些用户生成的SELECT 庞大的数据集 考虑到这些要求,最佳的服务器configuration(软件和硬件,我假设RAID10可以帮助)是否适合我的PostgreSQL服务器? 通过最优化,我的意思是允许SELECT查询花费相当less的时间。 如果需要,我可以提供有关当前设置的更多信息(如表,索引等)。

如何获得最好的LINPACK结果并征服Top500?

给定一个拥有数百/数千个节点的大型Linux HPC群集 。 为了获得最好的LINPACK基准testing ( HPL )结果,您可以提交 Top500超级计算机列表 的最佳做法是什么? 给你一个想法,我想在这里得到什么样的答案是一些子问题(带有链接): 如何调整 HPL.dat文件的参数 ( N , NB , P , Q ,内存alignment方式等)(无需花太多时间尝试每个可能的排列 – 特别是大问题N)? 是否有任何Top500 提交规则要注意? 什么是允许的,什么不是? 哪个MPI产品,哪个版本? 这有什么不同吗? MPI机器文件中的任何特殊主机命令 ? 你用CPU钉住 ? 如何configuration互连 ? 哪个互连? 你使用哪种CPU型号的BLAS软件包? ( 英特尔MKL , AMD ACML , GotoBLAS2等) 你如何准备大运行 (在所有节点上)? 从节点子集上的小运行开始,然后扩展? 是否真的有必要在所有节点上运行LINPACK(或允许外推)? 你如何优化最新的英特尔/ AMD处理器? 超线程 ? NUMA ? 重新编译软件堆栈还是使用预编译的二进制文件是否值得? 哪些设置? […]

MySQLlogging缓慢的查询

我已经告诉MySQLlogging需要比一秒钟(configuration中的1 )更长的查询…但是我看到这样的查询花费的时间比一秒钟less… # Time: 101108 6:39:32 # User@Host: source_member[source_member] @ localhost [] # Query_time: 0.007271 Lock_time: 0.000062 Rows_sent: 1 Rows_examined: 2635 SET timestamp=1289216372; SELECT id, name, email, auth_key FROM member INNER JOIN source_member.group_assoc ON ( source_member.group_assoc.group_id = 121 AND source_member.group_assoc.member_id = member.id ); 我的设置是… log_slow_queries = /var/log/mysql/mysql-slow.log long_query_time = 1 log-queries-not-using-indexes 我应该问…这意味着它只logging没有任何索引的查询?

MySQL文件的成本和解决scheme是什么?

我是新来的优化MySQL(欢呼拥有高stream量网站!),我有点困惑的文件。 我偶然发现这篇文章: http : //www.mysqlperformanceblog.com/2009/03/05/what-does-using-filesort-mean-in-mysql/与一些快速谷歌search,但我似乎无法find任何解决scheme。 这是否意味着我的查询只是写得不好,缺less适当的索引(我已经花了一些时间索引,至less我认为是正确的),还是在这里有什么别的?

如何在my.cnf文件中设置query_cache_size和join_buffer_size?

过去两天我一直在监视我的服务器,并意识到我的临时表中有60%存储在hhd而不是内存中。 另外我运行MySQL Performance Tuning Primer脚本,build议我设置query_cache_size。 现在,要做到这一点,我相信我需要在my.cnf中设置query_cache_size和join_buffer_size 不幸的是,我没有编辑my.cnf文件的经验,所以我希望有人能够帮助我。 我该如何设置, 我应该怎么设置? 目前my.cnf: [mysqld] set-variable = max_connections=500 safe-show-database log_slow_queries = /var/log/mysql/log-slow-queries.log slow_query_log = 1 long_query_time = 2 log-queries-not-using-indexes

优化nginx的大文件下载

嘿,我想知道什么是一些一般的选项,我应该考虑优化nginx服务器大文件下载(通常100MB到6GB)。 我刚刚从lighttpd移植过来,我注意到在下载过程中,速度很快波动很大。 我熟悉波动的速度,但不是在这个速度,lighttpd没有几乎波动。 我想知道是否有一些一般的东西,我应该看看,对nginx是新的。 我应该增加工人数量等 我正在浏览HttpCoreModule的wiki页面,并且发现了诸如directio选项之类的东西: 该指令允许使用标志O_DIRECT(FreeBSD,Linux),F_NOCACHE(Mac OS X)或directio()函数(Solaris)读取大小超过指定大小的文件。 该指令禁止将sendfile用于此请求。 这个指令可能对大文件有用 那会是一个尝试的select吗? 感谢球员,我感谢帮助。 我知道我的问题可能相当广泛,但就像我刚才所说的,对于nginx新手我想知道我可以用什么样的选项来优化服务器以进行文件下载。 我知道各种各样的东西起作用,但是我也知道lighttpd在同一台服务器上的波动并不多。 谢谢!

鱿鱼:更快的互联网,但不响应

我configuration了我的局域网的squid代理网关服务器,一切工作正常,浏览可能更快,因为caching。 但似乎没有没有鱿鱼响应,因为当浏览没有鱿鱼页面加载通常以渐进方式加载(图像popup一个接一个,等等),但在鱿鱼,我们看到浏览器是“等待abcd.com ..”几秒钟,然后完整的页面popup。 有没有办法改变是行为,以便页面加载不会在几秒钟后完全呈现,但以渐进的方式,所以它似乎对用户的响应?

你将如何configuration一个专用的静态媒体HTTP服务器?

现在,越来越多的网站正在使用前端的nginx和后端的Apache(或者另一个web服务器比Apache更好地服务静态媒体)来切换到一个设置,我想知道以下几点: 将静态媒体放在专用服务器上(运行nginx),而不是在Apache前面运行nginx是否合理? 我不是在谈论预算,维护等(我知道运行2个服务器比运行1更昂贵)。 我的意思是: 你将如何完全优化一个专门提供静态文件的系统? 在硬件和软件层面上可以做哪些事情来优化静态文件,这些静态文件在运行Apache的系统上无法完成?

有没有指导来优化W2008R2线程性能?

我想确保我的W2008R2盒子在CPU线程上的中断和上下文切换最less。 我有4个核心/ 8个HT线程CPU。 我正在运行一个只使用套接字作为IO设备的应用程序,所以我期望成为networking的唯一硬件中断。 不过,我想尽量减less操作系统线程的中断。 我停止了大部分服务,我明白这是没有必要的。 但这只是我个人的预感。 我想要开发关于什么可以停止和什么不能的良好知识,可以调整哪些参数。 还有,我应该怎样监测,以确保我做出了正确的决定。 只是描述操作:应用程序是.NET非常低的延迟应用程序,它正在生产3年,相当稳定。 它使用很less的CPU,具有较less的GC数量,使用低RAM,使用大量的套接字通信,偶尔的磁盘IO(一些应用程序日志,如每分钟10行文本…应用程序有4个非常重要的线程运行(但是在应用程序中perfmon中当前物理线程的数量是44)。 我在应用程序之外使用的唯一服务是RDP。