最近了解了一下LevelDB,發覺這個嵌入式的K-V數據性能不錯,所以順便想在使用層面了解一下.由于LevelDB也有針對.net的實現,所以就針對了LevelDB.NET進行了一個簡單的讀寫壓力測試.為了更客觀的體現測試結構所以添加了大量的數據,和GET操作的時候隨機已經有的KEY進行.
1234567891011121314151617181920publicstaticvoidWriteTest(objectstate){while(true){User user =newUser();stringid = GetKey().ToString("000000000000000000000");user.Name = id;user.EMail = id +"@msn.com";user.CrateTime = DateTime.Now;user.City ="GZ"+ id;user.Country ="CN"+ id;user.Address ="sdfffffffffffffffffffffffffafjsdfjsljfsjfls"+id;user.Phone = id;user.Region ="gd";db.Set(user.Name, user);System.Threading.Interlocked.Increment(refmCount);}}
12345678910111213141516while(true){User user;intindex = ran.Next(100000, 500000);if(index == li){Console.WriteLine(index);}li = index;user = db.Get<User>(index.ToString("000000000000000000000"));System.Threading.Interlocked.Increment(refmIndex);System.Threading.Interlocked.Increment(refmCount);}
LevenDB.Net的寫入速度非常高效,在單線程寫入的情況都可以達到接近5W/秒的效率,而在獲取上的效率更高5線程的并發讀竟然可以達到15W/秒的能力....這讀效果是相當的可觀.
新聞熱點
疑難解答