Скоріше за все я закрию сайт :( принаймі в цій версії.
Причина проста, дуже велике навантаження на базу даних сервера в співвідношенні до кількості хітів. Двигунець абсолютно не оптимізований і мій неслабенький чотирьох процесорний сервер (Dual Xeon 2.8Ghz HT EMT64) з 4 GB RAM не витримає більше 100тис. хітів.
Я ще проведу деякі тести і якщо вони не покажуть перспективи то з 1 листопада ТОП сайтів припинить своє існування.
Masterpiecer, в топ Україна значно вища планка і якщо ти займаєш 3 місце то перше в топі блоггерів тобі гарантоване ;)
LaSet, якраз ні! вище 3 місця ще не стрибав. а от мій ‘Український блоґґер’ і на 2 бував.. якби топ Україна працював, то я б там теж серед героїв ходив.. :-( шкода..
Що ж, LaSet, можу спробувати написати новий двигун для сайту. Однак не на технології РНР, а на Java, бо у плані продуктивності вона набагато краща за РНР, так являє собою компільовану технологію.
Крім того, добре було би підняти ще сервер баз даних, не обов’язково із дуже потужним залізом. Відповідно, схема наступна – на одному сервері стоїть ВЕБ-сайт + база даних, до якої йдуть лише INSERT та UPDATE команди, а всі SELECT-команди йдуть до іншого додаткового сервера. Між двома базами даних налаштована реплікація, при якій ведучим (master) є сервер баз даних, на якому стоїть ВЕБ-сайт, а веденим (slave) є той додатковий сервер.
Це так звана дворівнева кластеризація бази по ролях. Без неї тут майже ніяк не обійтися. В мене наприклад, потік на кластер становить близько 40 тис. запитів на годину в “час-пік” і сервер би простозгорнувся кандибобриком :), тому ми використовуємо 4х рівневу кластеризацію.
roman, дякую за пропозицію але у мене наразі немає планів про зміну сервера чи купівлю додаткового кластера, принаймі для топу.
краще скажи скільки необхідно северів щоб обробити 10млн. запитів на добу?
> краще скажи скільки необхідно северів щоб обробити 10млн. запитів на добу?
Це залежить від співвідношення CPUtime-per-request, а також від того, чи запитується статичний контент або динамічний. А сторінка як правило включає в себе обидва цих типи контенту. І що найцікавіше, дослідження показали, що статичний контент вбиває сервер не суттєво менше, ніж динамічний. Уся проблема в тому, що для того, щоб приміром витягнути картинку, httpd вичитує її з диска в пам’ять, а потім видає її в Інтернет. Така процедура включає в себе операції вводу/виводу, що скоріше за все “повішає” сервер, якщо запитувати вже навіть 1000-1500 картинок за хвилину при середньому розмірі 150кБ. Вихід – використання так званого CDN-кешу, тобто розміщення статичного контенту на серверах CDN-провайдера. Одним з таких є Akamai (http://www.akamai.com/html/technology/index.html). Саме з ним я і маю справу :). Пригадую, коли відмовив CDN-кеш для одного із доменів (всього їх на той час хостилось бизько десяти), то трафік та навантаження сумарно на весь кластер зросло на 40%. А якщо би відмовив CDN для всіх доменів то… :)
Якщо ти маєш 10млн. запитів на добу для такого проекту, яким є ТОП Україна, то би організував кластер наступним чином:
1. Load Balancer, апаратний, напр. Cisco CSS15011
2. 4 Application Servers (Dual Xeon or AMD64), 2Gb RAM each, де 3 з них видають контент для відображення лічильників, а один з них – сервить BackEnd-сторінку для управління та відображення статистики.
3. 3 Database Servers: перший – Dual Xeon, 4Gb RAM, RHEL 4, SELECT Optimized DB Settings, роль – вичитування даних для відображення лічильників, режим – read only, replication slave для сервера №2; другий – Dual Xeon, 4Gb RAM, RHEL 4, INSERT/UPDATE Optimized DB Settings, роль – оновлення статистичної інформації, оновлення даних, режим – write only, replication master; третій – Dual Opteron, 2Gb RAM, RHEL4, General DB Optimization, роль – генерування звітів для користувачів, фактично обслуговування BackEnd-сторінки, replication slave для сервера №2.
В сумі – 7 серверів+Load Balancer. Оренда такого кластера обходиться близько 4000у.о. в місяць. Сумно, але на одному тілько ентузіазмі такого не купиш :(, однак щоб хостити проект такого масштабу, як бачиш сам, інакше ніяк…
цікаво, а що ти скажеш про CNStats.Rating на якому стоїть warlog.info? Розробники запевняють, що один сервер Xeon 2.8GHz, 1Gb, RAID 5x36Gb SCSI HDD здатний обробити більше 10млн. за добу
запрошую зареєструватися в http://top.topua.net/
> …warlog.info … здатний обробити більше 10млн. за добу
ги, відкрив я той warlog.info . Мушу тобі сказати, що лічильник так і не показався – Request time-out :)) Зрештою, як я й очікував. Скріншот – дивись сюди
Тому й скажу – не витягне. Зрештою, “CNStats работает на любом хостинге, который поддерживает PHP и MySql” однозначно дає відповідь на твоє питання :)
в мене показався ;) але топ у них серйозний, за добу набігає до 10млн. хітів
подивись ще раз
А куди дизайн дівся?\
Style)r, це трохи інший топ, також український тому його варто пітримати
ТОП-Україна припинив своє існування остаточно?
Kyrya, нажаль так
раджу зареєструватися в http://top.topua.net/
Вже :) Як тільки він створювався.
Добре, що ти передав дизайн рейтингу TOP.TOPUA.NET. Ми дуже раді бачити його знову! :)