На чому писати проект під велике навантаження
+1. пофик на чому писати, говнокод можна писати на будь-якій мові і фреймворку. Однак поріг входження в Джанго та рейки трохи вище, і говнокодеров в цілому набагато менше. Те ж і з ПХПшнимі фреймворками - на Симфоні ще спробуй свій хеллоуворлд напиши. Головне продумати методи оптимізації витратних операцій - мало фреймворків про це думають з коробки. Memcached, кешування сторінок або блоків (привіт, SSI!) Як статичних (а динамічна частина - більш легкими ajax / json запитами)
багато-багато всього потрібно припускати щоб давати попередні оцінки. Так просто погуглити спочатку high load і високонавантажені сайти. Надіте на Хабре опису архітектур однокласників, вконтакте, твіттера, Фейсбук і будете мати розуміння які проблеми вирішуються при розробці високонагрудженних проектів.
Спасибі за пораду! буду розбиратися, що потрібно саме мені
Питання в корені неправильний і кілька дилетантський: «Хочу сайт, щоб багато народу ЛАЗу».
Це може виглядати настільки по-різному, що навіть приблизно міркувати не доводиться.
Так, я вже зрозумів, що постановка питання неправильна мало інформації для відповіді. Зроблю верстку, потім можна буде, що обговорювати. Дякуємо!
1. Відразу робити nginx
2. Не страждати передчасної оптимізацією. На мій дилетантський погляд High Load вимагає принципово іншого підходу до розробки. У вас, як мінімум, повинен бути працюючий прототип щоб на ньому побачити вузькі місця архітектури і переписати вже все по-правильному. Зазвичай вузьке місце це SQL. Тому дивіться Memcahed, Redis.
Середовище розробки та фрейморк тут вторинний, тому що, як вже сказали, до високої навантаженні вони все з коробки не готові. Вибирайте те що простіше потім допив.
а можна по детальніше?
Чому відразу робити nginx?
Прототип якраз і будуть писати, хочеться відразу робити максимально гнучко і правильно, а потім вже через того що буде, виправляти вузькі місця і переписувати щось?
Хіба Yii не готовий до високої навантаженні, дуже багато відгуків, що фрейморк спецом для цього?
всі говорять що їх продукт готовий до високої навантаженні, інакше ніхто його використати не буде :)
питання в іншому - ПОТРІБНО ВМІТИ ГОТУВАТИ.
Плювати на чому писати початкову версію. Головне відразу продумати хорошу архітектуру програми. Рознесіть додаток на окремі частини (як в твітері наприклад, їх веб-інтерфейс сам працює на тому ж рівні, що і інші клієнти - через API). Знову ж все залежить від завдання. Я вирішив спочатку все на ruby зробити, якщо упрусь в стелю продуктивності, то перепишу на jruby, якщо і там упрусь - erlang.
Знову ж таки, все залежить від завдання.
Мова не важливий, так як реалізація логіки - це друга справа для HiLoad.
Основа всього буде система зберігання / вибірки / запису даних.
Якщо запит на дані користувача будуть йде в sql і приходити через 0,2 секунди, то 5 користувачів в секунду почнуть валити базу.
І ще рада, розпишіть все до окремих дій:
запис інформації про користувача
показ форми редагування особистого профілю
і т.д.
і прийміть за постулат, що кожна дія буде виконуватися на окремому сервері, тоді мозок трохи перемикається в режим «як так», а через невеликий термін проектування системи приходить розуміння як воно повинно працювати, як можна в різних БД зберігати різні типи даних і т. п.