接上篇:mysql使用mysql-udf-http效率测试笔记 ,这次不使用rest架构,而是使用:libmemcached和memcached_functions_mysql
接上篇: ,这次不使用rest架构,而是使用:libmemcached和memcached_functions_mysql,测试版本是:libmemcached-0.34.tar.gz和memcached_functions_mysql-0.9.tar.gz,其它版本配对都有问题,我安装测试过有问题的版本有:
代码如下:
memcached_functions_mysql-1.1在:
libmemcached-0.49\libmemcached-0.48\libmemcached-0.47\libmemcached-0.30\libmemcached-0.43\\libmemcached-0.42\
下安装有错误
memcached_functions_mysql-0.10在:
libmemcached-0.42\下安装有错误
memcached_functions_mysql-0.8在:
libmemcached-0.49\libmemcached-0.48\libmemcached-0.47\libmemcached-0.44\libmemcached-0.43\
\libmemcached-0.42\下安装有错误
MySQL测试版本:5.1.55,操作系统Centos5.4 64bit,内存2G
安装libmemcached-0.34和memcached_functions_mysql-0.9,
代码如下:
[root@sunss24 libmemcached-0.34]#./configure \
--with-memcached=/home/memcache/bin/memcached
[root@sunss24 libmemcached-0. 34]# make
[root@sunss24 libmemcached-0. 34]# make install
再运行一下memstat,算成功了
[root@sunss24 ~]# ln -s /usr/local/lib/libmemcached.so.3 /usr/lib/
[root@sunss24 ~]# cd memcached_functions_mysql-0.9
[root@sunss24 memcached_functions_mysql-0.9]# ./configure \
--with-mysql=/usr/local/mysql/bin/mysql_config \
--libdir=/usr/local/mysql/lib/
[root@sunss memcached_functions_mysql-0.9]# make && make install
安装完成后将UDFs加载到MySQL中:
代码如下:
mysql> show variables like "%plugin%";
+---------------+-----------------------------------+
| Variable_name | Value |
+---------------+-----------------------------------+
| plugin_dir | /usr/local/mysql/lib/mysql/plugin |
+---------------+-----------------------------------+
1 row in set (0.00 sec)
[root@sunss ~]# find / -name "libmemcached_functions_mysql.so"
/usr/local/mysql/lib/libmemcached_functions_mysql.so
/root/memcached_functions_mysql-0.9/src/.libs/libmemcached_functions_mysql.so
You have new mail in /var/spool/mail/root
[root@sunss ~]# cp /usr/local/mysql/lib/libmemcached_functions_mysql.so /usr/local/mysql/lib/mysql/plugin/
[root@sunss ~]# cd memcached_functions_mysql-0.9/
[root@sunss ~]#cd sql/
mysql> source install_functions.sql;
查看各种版本:
代码如下:
mysql> select memc_udf_version();
+--------------------+
| memc_udf_version() |
+--------------------+
| 0.9 |
+--------------------+
1 row in set (0.00 sec)
mysql> select memc_libmemcached_version();
+-----------------------------+
| memc_libmemcached_version() |
+-----------------------------+
| 0.34 |
+-----------------------------+
1 row in set (0.00 sec)
mysql>
遇到问题:
代码如下:
No package 'libmemcached' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables DEPS_CFLAGS
and DEPS_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
解决办法:
[root@sunss24 memcached_functions_mysql-0.9]# whereis pkgconfig
[root@sunss24 memcached_functions_mysql-0.9]# export \
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig
导出所有memcache内容:
使用:
效率测试:
插入:
代码如下:
include_once("gettime.php");
$btime = getmicrotime();
$i = 0;
$mem = new Memcache();
$mem->addServer('192.168.0.10', 11212);
$local_db = mysql_connect("192.168.0.208", "sunss", "123456");
if(!$local_db)
{
die('Could not connect: '.mysql_error());
}
$local_db_sel = mysql_select_db("test", $local_db);
mysql_query("set names utf8", $local_db);
while ( $i $re_sql = "insert into urls (id,url) values ($i, 'www.gongchang.com')";
$res = mysql_query($re_sql, $local_db);
$i++;
}
mysql_close($local_db);
$etime = getmicrotime();
$runTime = round($etime - $btime, 4);
echo "runTime: ".$runTime."\r\n";
?>
1000条,插入时间:runTime: 1.4072
删除:
代码如下:
include_once("gettime.php");
$btime = getmicrotime();
$i = 0;
$mem = new Memcache();
$mem->addServer('192.168.0.10', 11212);
$local_db = mysql_connect("192.168.0.208", "sunss", "123456");
if(!$local_db)
{
die('Could not connect: '.mysql_error());
}
$local_db_sel = mysql_select_db("test", $local_db);
mysql_query("set names utf8", $local_db);
while ( $i //$re_sql = "insert into urls (id,url) values ($i, 'www.gongchang.com')";
$re_sql = "delete from urls where id=".$i;
//echo "re_sql_1: ".$re_sql."\n";
$res = mysql_query($re_sql, $local_db);
$i++;
}
mysql_close($local_db);
$etime = getmicrotime();
$runTime = round($etime - $btime, 4);
echo "runTime: ".$runTime."\r\n";
?>
删除1000条,运行时间:runTime: 1.5534
更新未作
结论:每秒query大概650条记录,比上次的mysql-udf-http快多了

Memcached是一种常用的缓存技术,它可以使Web应用程序的性能得到很大的提升。在PHP中,常用的Session处理方式是将Session文件存放在服务器的硬盘上。但是,这种方式并不是最优的,因为服务器的硬盘会成为性能瓶颈之一。而使用Memcached缓存技术可以对PHP中的Session处理进行优化,提高Web应用程序的性能。PHP中的Session处

PHP8.0中的缓存库:Memcached随着互联网的快速发展,现代应用程序需要高效可靠的缓存技术来提高性能和处理大量数据。由于PHP的流行和开源特性,PHP缓存库已经成为了Web开发社区的一个必备工具。Memcached是一种广泛使用的开源高速内存缓存系统,它能处理数百万个同时连接的缓存请求,可以用于许多不同类型的应用程序,例如社交网络、在线

随着互联网的快速发展,大规模MySQL数据库备份和恢复成为各大企业和网站必备的技能之一。而随着Memcached的广泛应用,如何备份和恢复Memcached也成为了一个重要的问题。PHP作为Web开发的主力语言之一,在处理备份和恢复MySQL和Memcached上拥有独特的优势和技巧。本文将详细介绍PHP处理MySQL和Memcached备份与恢复的实现方法

随着互联网技术的不断发展,音视频资源已经成为了互联网上非常重要的一种内容形式,而PHP作为网络开发中使用最广泛的语言之一,也在不断地应用于视频和音频播放领域。然而,随着音视频网站的用户日益增加,许多网站已经发现了一个问题:在高并发的情况下,PHP对于音视频的处理速度明显变缓,会导致无法及时播放或者播放卡顿等问题。为了解决这个问题,Memcached缓存技术应

随着网络应用的不断增加和数据量的不断膨胀,数据的读写效率成为影响应用性能的重要因素之一。而缓存技术的应用则可以很好地解决这个问题。在PHP应用中,Memcached是最常用的缓存服务器。Memcached是一个高性能的分布式内存对象缓存系统,可以将常用的数据存储在内存中,提高数据检索的效率。本文将介绍如何使用PHP和Memcached进行缓存管理,以及如何优

随着现代互联网应用的快速发展,用户体验对于一个应用的成功至关重要。如何保证应用的高性能和高可用性,成为了开发人员需要解决的重要问题之一。PHP作为一种广泛应用的编程语言之一,它的性能监控和优化也是非常重要的。Memcached是一个高性能、分布式的内存对象缓存系统,可以帮助应用提高性能和扩展性。本文将介绍如何使用PHP和Memcached实现性能监控的方法。

随着互联网应用的快速发展,数据存储和处理变得越来越庞大和复杂。在这样的背景下,Memcached作为一款高性能、轻量级的分布式内存缓存系统,逐渐成为互联网应用领域中不可或缺的一部分。在PHP语言中,Memcached可以通过扩展内置的Memcached类实现与Memcached服务器的交互,而在实际生产环境中,我们需要通过搭建Memcached数据库集群来保

Laravel权限功能的实用技巧:如何实现权限的自动同步和更新简介:Laravel是一个流行的PHP开发框架,提供了强大的权限管理功能,可以用于管理系统中用户的访问权限。在较大的系统中,权限的管理可能非常复杂,因此如何实现权限的自动同步和更新是一个很有用的技巧。本文将介绍如何使用Laravel的权限管理功能实现权限的自动同步和更新。一、使用Laravel的权


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。