Articles of 优化

PHP + Apache很长的等待时间

我遇到了一个砖墙故障排除我的专用websever。 最近,我的网站飙升的请求数量/每秒,它坠毁。 盒子原有8GB内存,8核心Xeon E3-1230,1TB 7,200 RPM磁盘(无RAID),100M专用networking。 在秒杀之后,我增加了RAM到24GB以支持更多的并发用户。 Apache似乎处理得很好,即使有3000个并发用户,它也会很快(非caching)返回HTML和静态内容。 为了进一步testingApache / HTML和Apache / PHP之间的差异,我运行了ab 。 test.html和test.php都具有完全相同的静态内容,PHP不会调用任何include ,也不会与MySQL连接。 HTMLtesting ab -n 500 -c 50 http://www.~~.com/test.html Connection Times (ms) min mean[+/-sd] median max Connect: 252 375 190.3 276 1399 Processing: 254 354 121.5 282 657 Waiting: 253 353 121.4 280 653 Total: 510 730 231.7 573 1675 PHPtesting […]

回写模式下的LVMcaching相当于外部的ext4日志?

我在LVM上运行ext4文件系统。 我正在看的两大加速选项是LVMcaching和外部的ext4日志。 这听起来像是我正在使用单个SSD,在回写模式下的LVMcaching与在外部设备上使用您的ext4日志是一样的…基本上,如果发生任何事情,您将重置为前期日志位置。 这是一个正确的解释?

我是否推动了当前VPS的限制,还是有优化的余地?

我目前在一个中介DV服务器(基本)512MB专用内存,这是一个基于CentOS的VPS与Plesk和Virtuozzo。 我从第一天开始的经验一直不好,我只能通过caching“Band-Aids”来缓解我的服务器问题,但是我的网站并不像一年前那么小,所以问题恶化了。 我有3个Drupal安装在单独的(plesk)域上运行,其中1个Drupal安装是一个多站点,由5-6个站点组成,其中2个站点正在引入实际stream量。 我提到的caching“创可贴”是APC,它似乎最初帮助很大,而Drupal的Boost被认为是一个穷人的清漆,它使我的所有网页对于匿名用户都是静态的。 Google Ananlytics上的最近30天的综合估算值:90k人次的浏览量。 问题:很多停机时间,我一直在检查我的网站是否正常运行,最近我每天都在查找超过3次。 重新启动Apache将会恢复一段时间。 我有谷歌search每个错误消息,并寻找方法来优化我的DV服务器,我超越了残留什么是我的下一步行动。 这个服务器坏了,我打了一个不可能的低限制,比如12mb内核内存(kmemsize),是不是在我的端,我还需要优化一下吗? *我已经提供尽可能多的信息,我可以在下面,任何帮助或build议,将不胜感激 我在日志中看到的常见错误消息: [error] (12)Cannot allocate memory: fork: Unable to fork new process [error] make_obcallback: could not import mod_python.apache.\n Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/mod_python/apache.py", line 21, in ? import traceback File "/usr/lib/python2.4/traceback.py", line 3, in ? import linecache ImportError: No module named linecache [error] […]

在Nginxconfiguration中设置fastcgi_buffers值的任何指南?

我只是将我们的博客networking移动到由WPMU提供支持的ngnix(来自apache)。 一切都运行顺利,罚款。 在我的追求优化服务器的最高水平 – 我遇到了这个线程在nginx论坛http://forum.nginx.org/read.php?2,2649 我真的很想知道:回答原来的问题… 例如,为了防止服务6144千字节文件时的警告,三种方法中的哪一种会产生最佳性能? 大量的小缓冲区:fastcgi_buffers 768 8k less量的大缓冲区:fastcgi_buffers 8 768k 缓冲区和大小之间的近似平衡:fastcgi_buffers 64 96k 还有一件事:在我的ngnix.config – 我的设置是: fastcgi_buffers 64 4k; 即256K缓冲区大小(我在32位平台上)。 这是否意味着如果我的PHP脚本生成的响应大于256K,nginx会抛出一些错误? 我知道ngnix论坛似乎更好的地方问这个,但是因为没有ngnix论坛比serverfault更活跃,我在这里发布这个问题。 我希望我能在这里得到一些专家的意见和指导。 谢谢, -Rahul

configurationapache的〜125 django网站来优化内存使用(mod_python v mod_wsgi; worker vs prefork;静态文件)

我目前在GoDaddy的一个专用框上运行125个Django站点。 该网站是相对低stream量,我想知道我能做些什么来优化我的apacheconfiguration中的内存使用情况。 在将prefork指令调整为较低的MaxServer和MaxrequestsPerChild之前,该框会在大约5个小时的活动之后挂起。 我一直在search谷歌的答案,但我不能拿出任何明确的以下内容: 在多站点django安装中有没有mod_python vs mod_wsgi的参数 有没有一种方法来优化静态文件服务,以节省内存在Apache虚拟主机? (/ site_media / vs media.domain.com) 在多VirtualNameHost环境中prefork vs工作者和内存使用情况的参数是什么? 目前的configuration文件如下: <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/projectroot/django/chat/static ServerName domain.com ServerAlias www.domain.com Alias /media /usr/lib/python2.5/site-packages/django/contrib/admin/media ErrorLog logs/www.domain.com-error_log CustomLog logs/www.domain.com-access_log common <Location "/"> SetHandler python-program PythonHandler django.core.handlers.modpython PythonPath "['/var/www/domain/django'] + sys.path" SetEnv DJANGO_SETTINGS_MODULE chat.settings_domain1 #chat is the name of the project all […]

独立单线程优化服务器vs VM在VMWare上运行

我很抱歉我的post的长度。 我们最近将我们的业务系统转换为由核心数量许可的产品。 我们购买了2核心许可证,目前正在VMWare上运行它。 转到下一个许可证级别是相当昂贵的。 我们有一些非常重要的性能问题。 我们已经消除了RAM作为一个瓶颈,以及networking,数据库和磁盘访问。 我们遇到的问题并不总是以高CPU使用率为特征。 有时CPU使用率低于20%,但CPU就绪率很高。 我正在思考直接在单独的物理服务器上运行它的可能性。 由于我限于两个内核,所以我会select最快的“单线程性能”CPU,我可能会得到4个内核。 然后我将业务系统设置为使用2个内核,并允许操作系统消耗其他2个内核。 我的逻辑是这样的。 现在虚拟机获得两个线程或vCPU。 这实际上只有一个pCPU。 即使我把它移动到没有超线程的同一个盒子,它也会得到2个完整核心,而不是2个vCPU。 但是如果我select单线速度更快的芯片,我可以获得更多的收益。 我也可能有一个小的收益,因为我不会再虚拟化了。 我们目前的6核CPU根据Passmark获得以下分数。 CPU标记:8570单线程性能:1403 我想要的4核心处理器得到这些分数。 CPU标记:10231单线程性能:2287 build立一个服务器是否有意义,以获得这样的应用程序的最佳单线程性能? 我有什么需要担心的吗? 一个新的操作系统会有很大的不同吗? 当前主机服务器具有以下规格:Proliant DL380 G7 2个物理CPU:Intel(R)Xeon(R)X5675 @ 3.07 GHz 6个内核每个用于24个逻辑处理器(vCPU)总数启用超线程。 144 GB的RAM 存储位于较新的SAN上,我相信这不会影响我们的性能问题。 业务系统虚拟机configuration2个vCPU和24 GB的RAM。 操作系统是Windows Server 2008 R2。 业务系统软件经过优化,可在IIS中的应用程序池中运行4 – 6 GB的RAM。 我从来没有看到虚拟机超过16 GB的使用。 我们还在主机上运行3个其他虚拟机。 一个现在真的很less,很可能会在不久的将来closures。 它有2个vCPU和8 GB的RAM。 第二个是运行我们的MS Sql数据库。 那个有8个vCPU和64GB的RAM。 我们有一个DBA看看它,他不觉得这是我们问题的原因,至less不是从数据库性能方面。 […]

如何确定Ubuntu LAMP环境的瓶颈

我应该运行什么样的testing来确定服务器上的瓶颈? 我正在尝试优化,以便在发生重负载峰值时保持高负载状态。 我在LAMP环境中运行Ubuntu。

Hyper-V主机系统上的CPU只是闲置,即使虚拟机处于全速运行状态

我有一台运行Windows 2008 64位Hyper-V的服务器,它具有8个内存和Intel Xeon X3440 @ 2.53 Ghz,在主机系统的性能监视器上提供了8个逻辑内核。 我已经build立了三台虚拟机,全部运行Windows 2008 32位。 build立服务器,运行Team City 登台服务器 SQL Server,运行SQL Server 2005 这三台机器运行非常缓慢,即使主机系统几乎没有使用任何cpu,一般都低于10%,但CPU仍然是100%cpu。 任何人都可以请提供一些关于CPU分配的最佳设置的提示? 我应该设置每个服务器有两个核心,还是应该增加这个数字超过主机上的核心总数? 什么是在虚拟机预留和虚拟机限制上设置的好数字? 8台物理内存不足3台虚拟机? 谢谢阅读。 🙂

如何最好的pipe理高PostgreSQL CPU使用?

我正试图修复一个高PostgreSQL CPU使用问题。 我们使用的是PostgreSQL 8.0.9,当我们的JEE Web应用程序(在JBoss中)用于某些负载增加的情况时,top显示PostgreSQL的进程缓慢增加。 出现问题时,大约有12-15个PostgreSQL进程在进程信息的最右侧显示SELECT,每个进程的CPU使用率大约为6-7%,然后应用程序变慢了很多。 JBoss版本:JBoss(MX MicroKernel)4.0.3 操作系统:CentOS Linux 5.5 内核和CPU:x86_64上的Linux 2.6.18-194.26.1.el5 处理器信息:2个Intel(R)Xeon(R)CPU E5420 @ 2.50GHz,8个内核 目前,我们的想法是投入更多的硬件。 如果我们这样做,最好的select是像下面的选项A还是选项B? 选项A:4个AMD Opteron™6100系列处理器,每个处理器有12个内核 选项B:4个Intel®Xeon®7500系列处理器,每个处理器8个内核 假设使用PostgreSQL 8.0.9的CentOS Linux 5.5可以按比例增加这么多的处理器和内核(每个内核有12个内核的处理器),是否正确? 还有什么我应该考虑投掷更多的硬件?

优化新的Ubuntu服务器安装

在安装新的Ubuntu服务器(我个人使用8.04 LTS)之后,您如何根据内存消耗,磁盘使用情况和速度进行优化? 在开始构build服务器之前,您已经删除了哪些服务和预安装的软件包,以使您的系统尽可能精简和平均?