Супершвидкий Redis

1 Квітня 2010

Хоча сьогодні 1 квітня, але цей пост не жартівливий. Чесне слово.

Півроку назад я спробував юзати базу даних Redis і написав на ній простенький блог - http://tutamc.com/node/201. По тих тестах я бачив що Redis швидка база, але так на практиці ніразу й не доводилося її заюзати.

Та тут мене як фрілансера знайшов один замовник і за "їжу" я написав скриптик, що використовував MySQL. Цей скрипт повинен був брати дані з різних сайтів і заносити їх в базу. Скрипт вийшов на декілька десятків рядків і в тестах нормально себе зарекомендував. Але на продакшин сервері я побачив таку сумну статистику:

MYSQL: count SQL query - 125984, time - 14606.3

Хоча запити були й прості, але через те що їх було більше 100 тисяч скрипт працював як бачимо 4 години. Спочатку думав над оптимізацією всієї роботи, та щось мені ліньки стало думати. І я просто заюзав Redis - змінивши в скрипті декілька рядків отримав таку стату:

REDIS: query - 125984, time - 109.3

Redis працював більше ніж в 100 раз швидше! При цьому не грузив проц навіть на 1 відсоток, і займав в оперативі лишень 30 Мб. Я просто в шоці! Гадав прискорення буде хай в 5 чи 10 раз, але не в 100. До того ж Redis запущений під Віндою і він там ще не оптимально працює, гадаю під Лінохом швидкість була б ще швидша.

Тож якщо в вас якийсь високонавантажений проект, то придивіться до Redis'а - http://code.google.com/p/redis/ 

PS: зборки Redis під Windows знаходяться тут - http://code.google.com/p/servicestack/wiki/RedisWindowsDownload

Tags:  
 
 
 
Роман Хоменко aka PresidentUA
mail/jabber: spirt40@gmail.com