5
回答
Memcached 与 Mysql 性能疑问
华为云实践训练营,热门技术免费实践!>>>   
服务器配置为16核CPU、16G物理内存、32G交换分区,安装的系统是CentOS6.2 X86_64 。在运行memcached过程中,为memcached分配内存32M时的读写速度高于为其分配256M内存时数倍,另外为mysql将部分缓冲配置设高也未见效果。会不会是因为服务器性能上去了,而其他是因为软件性能没上去导致的呢。使用旧版CentOS时未见这样。
举报
陈家铭
发帖于6年前 5回/851阅

以下是问题补充:

  • @陈家铭 :是这样,我现在在为一个以RIA应用为主的网站做深层优化,前端以一个FLASH程序为核心,主要调用后台PHP程序。因为公司管理疏忽,FLASH程序未保留源码,故我不能从FLASH程序入手对其进行优化,只能从PHP、MYSQL及服务器方面入手。之前性能确实糟糕,并发到12时就出现HTTP 500。后来我对其FLASH调用的核心PHP文件及SQL语句进行调优,现在并发达到600就上不去了。因为FLASH程序的缘故,每次加载直接调用140条SQL语句,想对这些进行内存缓存处理,但发现操作内存缓存的速度低于MYSQL自身的速度4倍。memcached与一些nosql确实速度很慢,但也不至于低4倍 (6年前)
共有5个答案 最后回答: 6年前
参数的配置是根据你网站的并发情况来定的 不是给的内存越大性能就越好。这么好的硬件配置如果只是一个小网站 32Mmemcache足以应付 但是高并发 大数据的 32M没多少时间就存满了 所以最好能说明你目前网站的情况
--- 共有 1 条评论 ---
陈家铭是这样,我现在在为一个以RIA应用为主的网站做深层优化,前端以一个FLASH程序为核心,主要调用后台PHP程序。因为公司管理疏忽,FLASH程序未保留源码,故我不能从FLASH程序入手对其进行优化,只能从PHP、MYSQL及服务器方面入手。之前性能确实糟糕,并发到12时就出现HTTP 500。后来我对其FLASH调用的核心PHP文件及SQL语句进行调优,现在并发达到600就上不去了。因为FLASH程序的缘故,每次加载直接调用140条SQL语句,想对这些进行内存缓存处理,但发现操作内存缓存的速度低于MYSQL自身的速度4倍。memcached与一些nosql确实速度很慢,但也不至于低4倍 6年前 回复

如果只是单纯的数据读写 memcache不可能比mysql慢的 不过加载调用140条sql 确实有点多。我的建议是 140条sql里面需要的数据 实时性要求不高的 全部写入内存 每次从内存取 肯定比mysql的I/O读写快很多 但根据你的描述似乎你的服务器memcached的性能不行 你可以监控下memcached看下是否是他的问题

以前有项目使用过XCACHE,可以提速1/3,但如果考虑到其他语言的话,就没去考虑XCACHE了。我就做了个单纯的操作,一个文件从数据库里查询一条数据,取一个字段出来;另一个文件从MEMCACHED里取一个数据出来。最终方式是调用MYSQL的那个页面比MEMCACHED的页面快4倍,MEMCHACHED启动的参数是memcached -d -u www -m 2048 -c 1024 -L
以前使用32位CentOS 5.2的时候memcached的速度明显快于mysql
--- 共有 2 条评论 ---
陈家铭会不会是内存本身的问题 6年前 回复
陈家铭会不会是内存太大导致,我刚才做了个读文件操作,发现读/dev/shm中的文件 还没 普通文件夹下的速度快。 6年前 回复
顶部