我用cactiez安装了一个syslog服务器,能接受到日志信息了。但是由于全网的日志信息很大,syslog总共有5张表
+------------------+
| Tables_in_syslog |
+------------------+
| syslog           | 
| syslog_alert     | 
| syslog_incoming  | 
| syslog_remove    | 
| syslog_reports   | 
+------------------+
syslog_incoming是用来把日志写到mysql里,mysql> select max(seq) from syslog_incoming;
+----------+
| max(seq) |
+----------+
| 85782406 | 
+----------+
显示曾经有85782406条数据写入到mysql里面,有大概400万条日志信息,15万页,每分钟大概会增加200条信息。现在出现syslog服务器的页面打开非常缓慢,几乎要等5分钟才能出来日志页面。是硬件瓶颈还是syslog-ng+mysql这种结构不能支撑那么大的数据量?我的测试硬件是1G内存,至强双核2.8G的CPU。现在的硬件肯定很低,但是如果我提升硬件的话,能改善多少?如果是软件的话,能不能优化一下mysql的syslog的table,是不是table不能支撑那么多的数据。

解决方案 »

  1.   

    看一下MYSQL的慢查询日志。
    数据量大肯定会影响操作速度,但你可以分析一下,看看能不能做些优化。比如创建索引,使用分区表等。
      

  2.   

    mysql的慢查询默认没有打开,先要打开才行。不过,这么大数据量肯定要进行一定处理,具体要看你的查询条件和数据特征来优化。
      

  3.   

    是不是在my.cnf里面添加这三句话就可以启动慢查询了?
    long_query_time = 1
    log-slow-queries =
    log-queries-not-using-indexes
      

  4.   

    不需要,只需要添加一条
    log-slow-queries=
    就行了。