我们有一个8核心,16GB内存和RAID 0 SAS 10K驱动器的服务器。 我们的目标是快速使用这个服务一个相当简单的PHP应用程序。 我们已经testing了所有其他组件,我们认为我们已经缩小到Apache是我们的瓶颈。 我不是apache大师我已经做了一些研究并testing了一些东西,但是当我用JMetertesting的时候,对服务器启动了100个并发连接,第一个10-20快速地返回30-100ms,其余的则在1000ms到3000ms之间。 任何人都有什么想法来改变我们的apacheconfiguration,使其更快,现在它是一个香草安装apache。
我正在一个红帽8 Linux的工作,我想添加新的政策,安排进程,你能帮我: 1)在哪里定义新政策 2)过程如何分配一个过程的政策? 详细的函数名称和结构将是有帮助的。
有什么办法从caching中排除一些网页部分? 例如,我在我的主页上添加了最近添加的内容,每15分钟刷新一次。 我知道有ESI的特点,但不知道我是否正确的方向。 如果是的话有没有例子如何实现呢? 我发现了三篇有关ESI的文章 边缘包括整合 在您的应用程序中控制清漆ESI 边缘在10分钟内包括清漆
我正在制作一个一对一的聊天应用程序。 它使用StropheJS通过BOSH连接到Ejabberd服务器(使用ejabberd的默认连接pipe理器)。 我们面临的主要问题是,有时消息需要很长时间才能到达另一端(约30秒左右),否则很快就会到达另一端。 像这样的东西 – 用户A发送消息 用户B立即收到 —- [更多即时消息交换] —– 用户A发送消息 B没有收到消息 用户A发送另一个消息 B仍然没有收到消息 … … (20-30秒之后)B一起接收两个消息(不是作为单个消息,而是在它们之间没有任何明显的时间间隔) 除了聊天之外,Web应用程序的其他部分还可以正常工作。 我很难弄清楚什么是确切的瓶颈。 它运行在Ubuntu 10.04实例上(2 GB内存+ 4 GB交换)。 我应该提到的一件事情是,一台机器用于托pipe所有的东西 – apache2,mysql,ejabberd,rabbitmq,mongodb,消息队列工作者以及由apache2使用mod_wsgi服务的python web应用程序。 此外,apache还提供一些(很less)静态文件,并将BOSH请求代理到ejabberd。 在任何时候,Apache的最大进程数(大约40),并使用700-800 MB的内存,所以我的猜测是,它正在做的大部分工作。 每天平均提供20万个请求(这个数字是从访问日志中获得的) 我们已经移动了CDN提供的静态文件(它显着提高了性能),并且还logging了缓慢的查询,并通过创build索引进行了优化,这些索引再次导致整体性能提升,尽pipe我打算明天再次做这个练习。 是否有系统的方法来解决瓶颈问题? 我也很困惑, 是否切换到nginx会提高性能 无论是把东西搬到自己的服务器上,他们可能会在单机上竞争资源? 升级机器上的内存 负载平衡的http服务器(虽然我有点怀疑,因为New Relic显示在请求排队几乎可以忽略不计的时间。) 可以在前端/后端上做什么样的测量来获得想法? PS:为了理解服务器pipe理/体系结构/调优的基础知识,在书中提供一些build议也是非常好的。
我有一个LAMP系统与CentOS 6.4,Apache 2.2.15,MySQL 5.5.32和PHP 5.3.26与APC 3.1.10使用Drupal CMS(HTTPS)在一个虚拟机与4 CPU和6 GB的RAM。 我的问题是Apache进程的CPU使用率将达到100%,如果我做一个网页爬虫与10个并发请求。 我能做些什么来减lessCPU使用率? 有任何想法吗? 这里是我top server-status结果和configuration文件与mod_status server-status页面: top – 20:37:23 up 14 days, 22:52, 2 users, load average: 8.54, 6.45, 3.22 Tasks: 180 total, 8 running, 171 sleeping, 0 stopped, 1 zombie Cpu(s): 93.5%us, 6.2%sy, 0.0%ni, 0.0%id, 0.1%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 8061508k total, 7634052k used, 427456k […]
一般来说,在性能方面,哪一个最好(抛开品牌)? 1x 8GB 1333MHz RAM 要么 2x 4GB 2400MHz RAM DDR3。
我刚安装了6.3新鲜的centos 6.3,注意到以下几点: [root @ localhost user1]#cat / etc / redhat-release CentOS release 6.3(Final) [root @ localhost user1]# [root @ localhost user1]#cat / proc / sys / net / core / rmem_max 131071 [root @ localhost user1]#cat / proc / sys / net / core / rmem_default 229376 [root @ localhost user1]#cat / proc / sys […]
我已经为ssd应用了众所周知的安装点选项,并在LVM中启用了ssd优化的东西。 现在我遇到了一个可能的挑战。 是否有可能收集有关如何调整截止dateio-scheduler的值的信息,如下所示。 要更好地使用这个特定的磁盘+控制器。 /sys/block/sda/queue/ add_random discard_zeroes_data iostats max_integrity_segments max_segment_size nr_requests read_ahead_kb scheduler discard_granularity hw_sector_size logical_block_size max_sectors_kb minimum_io_size optimal_io_size rotational discard_max_bytes iosched/ max_hw_sectors_kb max_segments nomerges physical_block_size rq_affinity 对于这款金士顿V300 240G SSD以下似乎运作良好。 重复的iozone -0performance出更好的价值。 echo 64 > /sys/block/sda/queue/nr_requests echo 640 > /sys/block/sda/queue/max_sectors_kb 我希望这样的调整可以避免金士顿SSD的一些缺点。 它可以真正成为这个系统的瓶颈,因为它可以处理SATA2而不是SATA3。 问候, SC
目前我正在为nginx设置接受C1M,我在我的虚拟BOX与Centos 7.0和RAM 10G。 这里是我的sysctl.confconfiguration。 fs.file-max = 9999999 fs.nr_open = 9999999 net.core.netdev_max_backlog = 4096 net.core.rmem_max = 16777216 net.core.somaxconn = 3240000 net.core.wmem_max = 16777216 net.core.netdev_max_backlog = 16384 net.ipv4.ip_forward = 0 net.ipv4.ip_local_port_range = 1 65535 net.ipv4.tcp_rmem = 8192 873800 8388608 net.ipv4.tcp_wmem = 4096 655360 8388608 net.ipv4.tcp_mem = 8388608 8388608 8388608 net.ipv4.tcp_fin_timeout = 7 net.ipv4.tcp_keepalive_time = 30 net.ipv4.tcp_max_syn_backlog = […]
我已经看过很多文章,build议如何设置nginx的worker_processes ,但是当设置过高的时候,会发生什么情况呢? 我即将运行一些基准testing,但我会很高兴就我应该期待的build议。 如果我有一个核心(两个硬件线程)可用于nginx,如果我将worker_processes从2更改为24,那么将会遇到什么指标? 关于我的头顶,我预计CPU争用会导致吞吐量下降和更高的延迟。 它是否正确? 预计其他指标是否会受到显着影响 – 我还应该做什么样的基准testing?