转发:
http://live.shopex.cn/archives/306
[root@localhost search]#
[root@localhost search]# strace -T -c -p 3464
Process 3464 attached - interrupt to quit
Process 3464 detached
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00 0.001997 33 61 epoll_wait
0.00 0.000000 0 1 write
0.00 0.000000 0 1 stat
------ ----------- ----------- --------- --------- ----------------
100.00 0.001997 63 total
[root@localhost search]#
CPU占用高
现象:
前段在应用中,发现读写的时候,load会猛然慢慢偏高,且不会降低的状况。慢慢的会使用cpu,800%,然后直至不提供服务。
现场:
ttsever双主服务,分配部署到8g,8核机器的两台服务器上。
网络为千M。
解决:
使用strace命令
strace -T -c -p pid#ttserver pid
ctrl+c #终端请求
发现futex锁狂多,最后分析得出是因为thnum开的太少,而导致写入或读取锁在读写队列里堆积。
因此调整了thnum的启动参数,暂观察期间,调整为1000。
——————————–华丽的分割线—————————————
ulog狂大和io读写高的问题
现象:
忽然发现两台ttserver硬盘报警,发现ulog狂多。
且使用iotop查看读写频度。发现写入为6m/s。
现场:
同上。
解决:
ttserver的ulog同步机制使用的是rts后缀文件做的最后同步时间搓。
发现量变的时间错文件时间不对,但tch文件(数据存储文件)为相同大小。
因此大致判断文件已经同步结束。
那么造成继续ulog狂写的原理就是两服务器的date时间不一致。
查看果然如此。
解决方案如下:
ntpdate调整crontab频度,加大为每分钟同步。
查看rts文件,写入两台机器最大时间到rts机器。
关闭服务。
删除ulog文件
重启服务。
备注,请开打ulim参数到1024.要不你会发现都是小的124文件,删除就要用复杂的命令了,以为参数过长。
ls -al ulog | awk '{print ulog/$8}' | xargs rm -f
附录
#!/bin/bash
# Deletes all but the newest 5 files to keep Tokyo Tyrant ulogs from
killing the disk.
logdir='/path/to/ttserver/ulog/'
mydir=`ls -t $logdir` it=1
for file in $mydir
do
if [ $it -gt 5 ]
then
echo file $it will be deleted: $logdir$file
#rm -rf $file
fi
it=$((it+1))
done
分享到:
相关推荐
3. 数据类型支持:Tokyo Tyrant支持多种数据类型,包括字符串、二进制数据、整数和浮点数等。C#客户端应当能够适配这些类型,将C#对象转换为适合Tokyo Tyrant存储的格式。 4. 集群支持:如果Tokyo Tyrant配置为集群...
Tokyo Cabinet 和 Tokyo Tyrant 是一组开源的数据库管理系统,由日本公司 Resin Software 开发,主要用于数据存储和检索。这两个工具在IT领域中被广泛应用于日志管理、缓存服务、键值对存储等场景,尤其在需要快速...
标题中的“memcached, mongdb, redis, Tokyo Tyrant”都是知名的NoSQL数据库系统,它们在现代互联网应用中被广泛使用。这篇博文很可能是关于如何在操作系统环境下安装和使用这四种数据库的教程。 1. **Memcached**...
论文中所提及的关键技术和工具,如Tokyo Tyrant、J2EE、SOA框架等,都是支撑智能电网数据处理领域发展的重要技术。 首先,智能电网数据采集系统的构建是整个智能电网技术的基础。为了有效地采集和管理海量的电力...
4. **多种数据类型**:Tokyo Tyrant支持多种数据类型,包括字符串、二进制数据、整数和浮点数,使得它能适应不同类型的存储需求。 5. **灵活的API**:Tokyo Tyrant提供了多种编程语言的API,包括Python、Java、Ruby...
4. **多种数据类型支持**:Tokyo Tyrant支持多种数据类型,如字符串、二进制数据等,满足不同应用场景的需求。 5. **接口丰富**:提供多种语言的API,包括C、Ruby、Python、PHP等,方便开发者集成到他们的应用程序...
为了解决这些问题,一种名为Tokyo Cabinet的Key-Value键值数据库应运而生,由日本人平林幹雄开发,以其高效的数据读写性能而受到关注。 Tokyo Cabinet提供五种不同类型的数据库,包括TCHDB(哈希数据库)、TCBDB(B...
标题 "tokyoCabinet及tokyoTyrant简介" 指向了两个与数据库管理相关的开源工具,Tokyo Cabinet和Tokyo Tyrant。这两个工具由日本开发者开发,主要用于小型到中型的数据存储,尤其适合那些对数据读写速度有较高要求的...
宫崎电阻描述: MiyazakiResistance是一个类似于ActiveRecord的库,可以使用Tokyo Tyrant。 宫崎县抵抗支持师傅/奴隶。 如果从服务器关闭,它将自动分离。 宫崎骏电阻支持双主控(主动/待机)。 如果活动服务器关闭...
Tokyo Tyrant 是 Tokyo Cabinet 的网络接口,它提供了一个简单易用的服务器端程序,允许远程客户端通过TCP/IP协议进行数据操作。"tokyocabinet-1.4.27.tar" 是 Tokyo Cabinet 的源代码压缩包,版本号为1.4.27。这个...
Tokyo Cabinet具有高性能和多种存储引擎选择,Tokyo Tyrant则通过热备份、update log和异步复制提高可用性,并允许通过Lua脚本进行原子性操作。 3. MongoDB:MongoDB是一个面向文档的数据库,支持无固定规格的JSON...
三、Tokyo Cabinet/Tokyo Tyrant详解 Tokyo Cabinet是由日本开发者Mikio Hirabayashi开发的一款高性能的键值存储数据库,其读写速度惊人,插入100万条记录仅需0.4秒,读取同样数量的记录仅需0.33秒。Tokyo Tyrant...
主要功能: 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新 服务器性能监控:GET、... 兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外) 支持服务器连接池,多服务器管理切换方便简洁
总的来说,`asynctnt-1.0b2-cp35-cp35m-manylinux1_i686.whl`是一个适用于Python 3.5的32位Linux系统的异步TNT客户端库,旨在简化与Tokyo Tyrant数据库的交互,并通过异步API提供高性能的I/O操作。如果你的项目中...
MemAdmin主要功能: 服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新 ...兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外) 支持服务器连接池,多服务器管理切换方便简洁
它提出了二进制协议来提高效率,外部引擎支持为memcached带来了新的可能性,例如使用Tokyo Tyrant等存储引擎,扩展了memcached的功能。此外,它还引入了Consistent Hashing算法来优化分布式缓存的节点管理,减少因...
1. **高并发读写**:在高流量的Web应用中,NoSQL的键值对数据库(如TC/TT中的Tokyo Cabinet和Tokyo Tyrant)能够提供快速的读写性能,适合对数据库进行频繁的读取和更新操作。 2. **海量数据存储和访问**:文档型...
Tokyo Cabinet采用哈希表(Hash Table)、B+树(B+ Tree)和固定长度记录文件(Ft File)三种不同的数据结构,分别对应HDB、BDB和FDB三种数据库类型。这使得Tokyo Cabinet能够根据具体应用场景选择最合适的存储方式...