Memcache分享MySQL的困难
1。Basic
memcache是一个用于分布式系统的高性能内存目标缓存系统。根据内存中维护的统一的大型哈希表,可以使用它来存储会话。当系统必须加载到内存中时,加载速率可以进一步提高。在OSSIM4.1之后的所有系统中,都选择Memcached这种高性能内存目标缓存系统来显示PHP对于动态Web应用的缓存。这里的关键是缓存OSSIM的各个数据库的读写能力,以减轻MySQL数据库的负荷。环境变量请参考/usr/share/OSSIM/include/OSSIM_db.Inc,/usr/share/OSSIM/include/。这种方法也是OSSIM的缓存规划方案之一。读者可能会感到困惑。MySQL本身不仅有table_cache和query_cache系统,你还可以使用下面的指令在数据库中进行查询:
mysql>显示类似“%query_cache%”的变量;
-
|变量名称|值|
-
|have_query_cache|YES|
|query_cache_limit|1048576|
|query_cache_min_RES_unit|4096|
|query_cache_size|16777216|
|query_cache_strip_comments|OFF|
|query_cache_cache
在查看和表格内容频繁变化的情况下(比如OSSIM的存储和查看),简单的缓存系统并不能合理的减轻数据库的工作压力。就像Apache中呈现的mod_disk_cache和mod_mem_cache并不能真正呈现Web服务器的缓存,所以传感器中不容易有memcache服务项,背后必须有Squid等专门的缓存工具。
memcache根据缓存在内存中的数据信息和目标,减少了加载数据库的频率,所以为OSSIM系统显示更高的内存有利于充分发挥memcache的功效,从而提高整体特性。另外,为了更好的可视化缓存的实际效果,大家可以使用phpmemcacacheadmin专用工具进行查询。图1、图2、图3展示了其监管的实际效果。
图1
图2
图3
2。配备memcached:
/etc/default/memcached/* *** 纵open*/
/etc/memcached.conf/*配备memcached*/
Ossim的主要参数启用memcache,端口号为11211的环境变量/usr/share/Ossim/www/forensics/includes/base_db.inc.php
/usr/share/PHP/adodb/adodb.Inc.PHP
/usr/share/PHP
memcached.conf的关键主要参数的表达式:
Memcached在启动时必须设置哪些重要的主要参数,以及这些主要参数的功效。
1)-pmemcached的TCP监听端口号,默认设置为11211;
2)日志文件/var/log/memcached.log输出日志文件的位置
3)-smemcached监控的UNIXsocket方式;
4)-被监控网络服务器的IP地址,在OSSIM服务器中是127.0.0.1,表示只有这个设备可以浏览,也就是只有OSSIM服务器中的Mysql可以缓存。
5)-d启动Memcached网络服务器的守护进程;OSSIM下的启动命令是“/usr/bin/memcached-m128-p11211-unobody-l127.0.0.1”
6)-r更大的核心画面尺寸;
7)-u运营Memcached的客户,也就是无名小卒;在奥西姆;除了关键和关键流程,不容易使用根客户启动流程,因为不同的客户启动流程可以有隔离功能。
例如:
Apache服务项目由www-data客户端启动,ossec-logcollector进程由ossec客户端启动,mysql进程由mysql客户端启动,redis服务项目由redis客户端启动,rabbitmq进程由rabbitmq客户端启动。
我们可以在/etc/passwd中查询UID,获取每个客户分配的管理权限。
8)-m企业中分配给Memcached应用的总内存为MB,OSSIM中默认设置为128,可以改为512;
9)-c有大量并发连接数,默认设置为1024;
10)-v-vv-vvv–vvv设置服务器复制信息的详细级别,其中-v只打印错误和警告信息的内容,-vv基本会复制手机客户端在-v中的指令和相对信息,-vvv基本会复制内存情况,更改-vv中的信息内容;
1)-n最小块大小,默认配备48字节;
12)-tmemcachedwebserver应用的线程数,默认配备4;
13)-L尝试应用大内存页面;
14)-R每个恶性事件的所需数量默认为20;
3。查询memcache
接下来,我们将使用telnet命令来检查memcache的运行状态。首先,键入以下命令:
#telnet127.0.0.111211。
让我们看看有什么发现。
在下面,您应该能够键入以下指令:
统计项目
统计详细信息
版本
要撤的话,C不好,Z也不好。
试试戒掉。
注意Ossim服务器默认设置必须自己安装,不需要telnet,后面的“11211”表示memcache选择端口号。
然后,立即键入“stats”命令来获取当前的memcache情况。如表1所示。
表1memcache信息内容
如果必须将缓存重置为干净状态,请键入“flush_all”命令。
4。使用memcache存储会话
ApacheWeb服务器的PHP会话是给Memcached的,所以不管IP连接分配到哪个Web服务器,都不容易出问题。配置方法很简单,升级PHP的环境变量里的一句话就可以了。但是,前提条件是必须安装memcache控制模块。使用memcache存储session在读写容量上比使用文件要快很多,在几个网络服务器必须一起使用session时会更方便。只需要给所有这些网络服务器配备同一套memcached网络服务器,减少了额外的人工。缺点是会话数据信息存储在内存中,有一定的持久性不足,但对于会话数据信息来说不是很大的问题。
注意,OSSIM系统选择memcache的目的是为了加快网站打开速度,减轻MySQL数据库的工作压力。根据/etc/default/memcached环境变量中ENABLE_MEMCACHED=yes/no的变化 *** 作电源开关。
5.此外,REDIS系统被引入到版本号5之后。OSSIM4.6,它的出现很大程度上弥补了memcached等keyvalue的不足。大量内容请参考开源安全运维平台OSSIM的《最佳实践》一书。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)