我们有一个使用apache和mysql的web应用程序。 一般来说(根据Munin)我们的MySQL线程数在任何时候都在2到4之间。 有一天,我们的服务器几乎停下来。 HTTP请求很慢或根本无法通过,SSH可以工作,但是需要30秒以上的时间才能注册按键等。所以我们拉上了Munin,唯一超出正常范围的是Mysql线程数。 CPU使用率低于1%,负载低于1.0,有足够的RAM。 如前所述,线程数在2到4之间浮动。在我们慢下来的时候,它已经达到了14点。所以我开始在互联网上探索,我发现在大多数情况下,你会看到更高的线程当你开始慢速查询时计数。 如果我理解正确,请求进来需要一段时间来处理,同时其他请求进入,所以会创build一个新的线程来处理请求(是?)。 但在减速的时候,我们有0慢查询。 我的问题是:还有什么可以导致MySQL创build额外的线程。 而线程突然激增可能会导致服务器放慢速度? 为了解决这个问题,我们重新启动了Apache,所有的事情都恢复了正常的自我。 考虑到服务器Vitals(CPU,RAM,networking等)都是理想的,线程数是唯一不合适的,这似乎是最合乎逻辑的追求作为可能的原因。 如果有关系,我们使用Mysql 5.1.40。 服务器是FreeBSD 7.2,服务器在监狱里面。
我有一个MySQL服务器的问题。 一些MySQL线程几个小时吃掉了整个处理器。 杀死进程肯定有帮助,但是如何跟踪代码在里面运行呢? 我目前的最高层: PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ IO Command 1353 mysql 20 0 340M 70004 7652 S 31.0 1.1 1h34:28 0 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –socket 4344 mysql 20 0 340M 70004 7652 S 3.0 1.1 5:17.75 0 /usr/sbin/mysqld –basedir=/usr –datadir=/var/lib/mysql –user=mysql –pid-file=/var/run/mysqld/mysqld.pid –socket 5870 mysql […]
我的服务器上有一些基于FreeBSD 7.2的multithreading应用程序,因此我需要增加kern.threads.max_threads_per_proc到4000(默认值是1500)。 我改变它使用“sysctl kern.threads.max_threads_per_proc = 4096”,它看起来像确定,但重新启动后,此选项再次具有默认值。 我也尝试使用/boot/loader.conf,但它仍然返回到默认值。 这是在loader.conf中包含的内容: kern.maxdsiz=1073741824 kern.maxtsiz=1073741824 kern.maxssiz=268435456 kern.maxproc=10000 kern.maxprocperuid=9000 kern.threads.max_threads_per_proc=4000 即使使用这个设置,“sysctl kern.threads.max_threads_per_proc”在重启后显示defalut值(1500)。 请告诉我,我怎样才能永久改变它?
我有在Centos7运行的httpd server 。 Apache的详细信息 – Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 我试图加载testing一个Web应用程序,开始打100个用户,一路攀升到2500。 当我运行testing&在Centos上运行这个&运行ps -ef | grep apache | grep -v gep | wc -l ps -ef | grep apache | grep -v gep | wc -l ps -ef | grep apache | grep -v gep | wc -l我看到的apache进程的数量是257.它不超出这个数字,因此,我在负载testing中看到超时。 我没有configuration更改将线程数限制为257.因此,我想这是一个默认configuration设置的地方? 为了增加要处理的并发请求的数量,我添加了以前不存在的下面的configuration 这里是关于线程创build的configuration <IfModule mpm_worker_module> ServerLimit 50 StartServers 2 […]
我和我的团队一直在努力保持ColdFusion应用程序集群在过去6个月的较好的一段时间内保持稳定,而且效果甚微。 我们正在转向SF,希望能够find一些JRun的专家或新鲜的想法,因为我们似乎无法弄清楚。 设置: 在Windows Server 2003的IIS 6上,两个ColdFusion 7.0.2实例与JRun 4(w /最新更新)集群。两个四核CPU,8GB RAM。 问题: 每隔一段时间,通常一周一次的实例将完全停止处理请求。 它没有任何活动,我们必须重新启动它。 我们知道: 每当发生这种情况JRun的错误日志总是充满java.lang.OutOfMemoryError:无法创build新的本地线程。 在阅读Macromedia / Adobe的JRun文档以及许多令人困惑的博客文章之后,我们或多或less地将其缩小到实例的jrun.xml中不正确/未优化的JRun线程池设置。 我们的jrun.xml的相关部分: <service class="jrun.servlet.jrpp.JRunProxyService" name="ProxyService"> <attribute name="activeHandlerThreads">500</attribute> <attribute name="backlog">500</attribute> <attribute name="deactivated">false</attribute> <attribute name="interface">*</attribute> <attribute name="maxHandlerThreads">1000</attribute> <attribute name="minHandlerThreads">1</attribute> <attribute name="port">51003</attribute> <attribute name="threadWaitTimeout">300</attribute> <attribute name="timeout">300</attribute> {snip} </service> 我已经在上周启用JRun的指标来收集与线程相关的数据。 这是让它login一周后的数据摘要。 平均值: {jrpp.listenTh} 1 {jrpp.idleTh} 9 {jrpp.delayTh} 0 {jrpp.busyTh} 0 {jrpp.totalTh} […]
如果我们的应用程序以某种方式失去与memcached服务器的连接,所有的线程在10分钟左右之后报告为挂起 [28.04.11 16:50:15:831 CEST] 00000025 ThreadMonitor W WSVR0605W: Thread "WebContainer : 4" (00000029) has been active for 764759 milliseconds and may be hung. There is/are 15 thread(s) in total in the server that may be hung. 我找不到任何有关如何解决这个问题的信息。 不应该所有的这些线程都被web容器所杀死吗?
我的Windows Server 2012 R2有一个小问题。 目前的问题是来自“NT Kernel&System”的线程每秒增加,直到达到16k,然后服务器变得非常慢或挂起。 当我尝试使用Process Explorerdebugging进程时: 在这里你可以看到一些东西产生了一个新的线程,并等待。 我试图停止所有的服务,但我找不到解决scheme。 你们有没有过去有同样的问题?
我在一个多核系统中部署jboss,我将拥有12到20个核心,当我运行jboss服务器时,我只看到1个进程在运行,而且我觉得它不会使用多个核心。 .. 有没有什么方法可以使用更多的内核或者jboss是否聪明,在这个过程中是使用更多的线程还是其他的东西? 我在Power7系统上使用AIX 6.1。 JVM J9 1.6
我一直在build立一个新的VPS,并想尝试MariaDB。 我正在使用MariaDB 10.0.1,据我了解,它是相当于MySQL 5.6。 从MariaDB / MySQL 5.5开始,线程的线程处理是否发生了巨大变化? 这是我在旧服务器(CentOS 5.9,MySQL 5.5)上看到的: 在MariaDB 10(MySQL 5.6)的Centos 6.3上: 以下是一些事实: 在服务器A(CentOS 5.9,MySQL 5.5)上: 有大约15个数据库连接到各种网站和服务 Plesk已安装 MySQL是微调的: /etc/my.cnf中 [mysqld] local-infile=0 query_cache_type = 1 query_cache_size = 32M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Misc vars key_buffer_size=32M join_buffer_size=512K tmp_table_size=32M max_heap_table_size=32M thread_cache_size=4 table_cache=300 # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # […]
我pipe理一个托pipe超过100个数据库的MySQL服务器。 我们已经build立了标准的主从复制,但SQL线程往往会经常中断,需要手动干预才能重新启动它。 在此期间,服务器不同步。 我知道有一个选项来指定哪些数据库是/不复制的。 是否有可能设置复制线程的多个实例 (理想情况下每个数据库一个),以便如果复制在一个线程上中断(并停止),它不会停止所有其余的复制?