与其他许多人一样,我从过去学习了很多信息,现在我可以独立运行服务器,现在我是新的SQL调优,我一直在寻找networking,调整似乎是一个困难的想法,所以我会感激一些build议/帮助。 任何人都可以评论下面的结果是好的,坏的或最坏的。 我下载并启动了mysqltuner.pl,结果是: ——– Performance Metrics ————————————————- [–] Up for: 1d 5h 10m 1s (488K q [4.654 qps], 9K conn, TX: 2B, RX: 114M) [–] Reads / Writes: 85% / 15% [–] Total buffers: 522.0M global + 1.1M per thread (151 max threads) [OK] Maximum possible memory usage: 691.9M (8% of installed RAM) [OK] Slow […]
如果我的API服务器显示性能不好,如高CPU – 这可以归咎于服务或在服务器上? 如果一个普通的应用程序服务器显示出糟糕的性能,我所能做的就是追踪消耗资源的代码的方法和行,并调整它们。 但它如何与api服务器一起工作? 代码可能是在api服务器上的性能不佳的问题? 如果是这样,怎么样? 我们在代码中所做的一切就是调用我们的api,这意味着api / restapi服务器上的糟糕性能永远无法归咎于代码,这是对还是错? 我知道这个问题是模糊的,但这是我正在努力去理解的。 谢谢。
我已经find了关于我的问题的这个话题 ,并且指出谷歌正在讨论阻止js的修复。 但是,有人可以用Google Pagespeed查看我客户的网站squarecard.de ,并解释哪里出了问题? 出于某种原因,我得到: 缓慢的服务器响应(TTFB与Wordpress的问题?) – 任何简单的方法把它降低到像0.3s? (查看在同一个vServer上托pipe的zaunschilder.de,TTFB在那里执行的很好) mod_pagespeed CSS阻止渲染,显然不被合并。 我的mod_pagespeedconfiguration是: ModPagespeedEnableFilters rewrite_javascript,rewrite_css ModPagespeedEnableFilters elide_attributes ModPagespeedEnableFilters prioritize_critical_css ModPagespeedEnableFilters defer_javascript ModPagespeedEnableFilters sprite_image ModPagespeedEnableFilters convert_png_to_jpeg,convert_jpeg_to_webp ModPagespeedEnableFilters collapse_whitespace,remove_comments 想法,任何人?
我们正在调查我们的虚拟机中的I / O负载以及对其进行优化的可能性,并且显示大部分负载是由PostgreSQL的统计收集器生成的。 它跳跃3,5和6,5 MB /秒。 我已经在这个主题上find了一些有趣的资源 ,他们build议使用tmpfs把大部分统计数据保存在内存中,这对我来说是有意义的,具体的虚拟机有足够的RAM来支持这种情况。 来源1说以下内容: 重新启动后,PostgreSQL将把这些文件复制到新的位置(当它停止时返回)。 这与stats_temp_directory的configuration名称中的temp结合听起来就像数据在其他地方持久化一样。 那么在Postgres进程不干净的情况下,临时数据会发生什么? 如果这个过程在最后一周没有任何问题,它会完全丢失吗? 或者,Postgres在运行时是否定期保存临时目录之外的数据? 可能在不干净的关机后简单地使用可用的临时数据? 我在问,因为目前一旦写入的数据被保存在本地文件系统中,并且用于写入数据的操作似乎是primefaces性的,但是如果我们切换到使用tmpfs,那么如果整个服务器出现故障,那么数周的统计数据可能会丢失一些原因。 有没有办法让Postgres定期在tmpfs之外保存数据,就像每隔一小时左右一次? 或者,我需要使用一些覆盖/堆叠/任何文件系统,将持久的一个更低,tmpfs更高,并find一些手动同步手动一次? 谢谢!
也许有人可以帮我解决这个问题。 我试图找出是否有任何可以优化的服务器端,以减less数据包丢失的延迟。 环境:Windows 2012客户端,CentOS 6.x服务器[Couchbase],同一个数据中心,具有防火墙穿越的繁忙局域网。 两者都是大容量的物理服务器。 问题:从客户的angular度来看,响应时间在〜1ms左右是很好的分布,但是我们看到200ms的峰值。 networking跟踪显示: 客户端 – >发送请求 服务器 – >用{应用程序响应+ TCP ack请求数据包}回复(1 ms)(本例中为78字节) 数据包不被客户端接收 约30 ms后,客户端TCP堆栈重新发送原始请求 服务器立即回复DUP ACK(66字节,不包含应用程序响应) 从初始请求到〜200 ms后,服务器重新发送原始响应(78字节的数据包)。 任何想法这200毫秒的延迟来自哪里,以及如何减less它? 我猜想一些tcp延迟的ack,nagle和拥塞/ RTOalgorithm的组合,但是linux内核调整对我而言有点神秘。 任何build议?
Apache(2.4.x)是一个众所周知的服务器,性能优化已经被广泛讨论和logging。 不过,对于Apache反向代理(Nginx或其他任何其他软件背后)的情况,我想知道什么最适合Apache,只要涉及到性能。 考虑到这个非常简单的Nginxconfiguration: server { keepalive_timeout 300s; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:8080; proxy_pass_header Content-type; } } 没有给出实际值(与硬件,交通和应用types紧密相关),与通常用于前端服务器的逻辑相比,逻辑应该在某些方面有所不同? 例如,当我们正在谈论服务器到服务器(硬件)时(甚至两台服务器(软件)通常在本地主机上进行通信), keepalive是一个很好的做法? 如果是的话,是否有一个基准开始? Apache将所有的Nginx请求视为同一个客户端还是X-Real-IPX-Real-IP或X-Forwarded-For将会使Apache考虑来自不同客户端的请求? 我猜就Apache而言,客户端是IP_SRC:Port 。 我的意思是,如果所有通过Nginx代理的请求被认为是一个客户端,那么Apache将如何尊重MaxConnectionsPerChild ? Apache与mod_prefork将如何分叉(或不)工人? 在这个MOD中,客户和工人是1:1的关系。 而且,由于工人一次不能处理多个客户,请求将会排队,直到有免费的工作人员可用? 有什么最好的做法应该注意这种设置? 有没有一种模式可以比另一种更好? 还是应该避免一个国防部?
在企业安全文件传输应用程序的性能阶段,我们发现压力testing的瓶颈是合作伙伴计算机(使用FTP或SSH将文件传输到名为合作伙伴的第三方服务器),缓慢地通过排队确认传输成功即将到来的事件很长一段时间。 我们希望实现一个可以处理并发的即可使用的解决scheme(目前我们使用1000个并发线程循环直到testing持续时间结束),而没有问题达到数百万的文件传输。 我们已经检查了似乎解决了C10k问题的开源系统,比如EventMachine或者Celluloid for Ruby或Twisted Python框架,但似乎并没有开箱即用的ftp / ssl或ssh服务器解决scheme。 任何build议或意见,即使是有偿的,将不胜感激。 基于上述框架的本土解决scheme现在看起来不切实际,因为死线太紧。
我正在embedded式系统上创build一个服务器。 我有一个SD卡上的FAT文件系统,其中包含一个文件,该文件应该通过HTTP连接到系统的WiFi发送到某个客户端 。 起初,我试图逐字节读取文件,这是非常缓慢的。 为了改善文件阅读,我介绍了一个缓冲区。 我从文件读取到缓冲区,然后将缓冲区内容写入发送到客户端的stream: file -> buffer -> network 增加缓冲区大小会增加数据传输速率。 我认为这是因为对文件系统的读操作数量减less了。 但是,任意大的缓冲区(比如说5000字节)会适得其反。 我怀疑这是由于bufferbloat。 服务器花费太多的时间填充缓冲区,这使networking混乱。 显然,有一些最佳的缓冲区大小,读取速度增加,而不会由于缓冲区膨胀而导致放缓。 我想提高数据传输率方面的总体performance。 目前我得到3Mbi / s太慢了。 我在控制缓冲区大小和集群大小。 我可以通过为这两个值做出正确的select来改善系统的性能吗? 缓冲区大小和簇大小是否理想相同? 一般来说,缓冲区大小应该是簇大小的整数倍(可能> 1)? 我是否应该以某种方式select这两者,以便与networking有效负载大小保持一致? (我对networking没有多less经验,也不知道是否有固定的有效载荷大小这样的事情) 如何决定这些尺寸以提高数据传输率?
我看到在一个基于Linux的机器上load average: 12.41, 11.94, 11.59平均负载平均负载时间为load average: 12.41, 11.94, 11.59 。 它有16个核心,所以平均负载不是很难。 但是,当我尝试连接到这个Web应用程序时,经常会超时。 什么可能导致这个? 这是一个曲线球。 所有CPU的CPU使用率徘徊在约50%左右(根据top )。 wa值在0.0到3.0之间。 根本没有使用交换内存,并有大量的空闲内存可用。 iostat显示0.51的%iowait值。 其他数据是: Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 4.88 1.02 2136.25 12365497 25895371840 sdb 0.00 0.00 0.00 9456 0 sdc 0.95 0.00 452.44 4781 5484405440 写/秒高 – 这是一个写/重的应用程序。 iotop显示来自pgbouncer进程(postgresql连接池),asynchronous任务队列和nginx工作进程(可能写入访问日志)的写入。 在IO>列中我没有看到6%以上的东西 – 大部分行都有0.00%。 SWAPIN是0.00% 。 总之,CPU利用率不是通过屋顶,内存利用率不是问题,并没有过多的I / […]
总的来说,我喜欢Vista中的SuperFetchfunction,并相信它会在系统启动时间和整体“快感”方面带来巨大的收益。 但是,有时显然会感到“无聊”,并试图在后台caching大型文件,这些文件太大而无法放入可用的RAM中,例如虚拟机磁盘文件和备份映像。 由于这个原因,我已经search了高和低无效的文件排除方式。 有没有人知道这是可能的(或者可能在Windows 7的愿望清单)?