|
|
|
| Разработчики социальных сетей пишут, что стоимость сайта будет зависеть от предполагаемого посещения сайта. Чем больше посещение тем дороже. Кроме оптимизации запросов и дорогого мощного хостинга что еще можно сделать что б сайт выдерживал нагрузки? | |
|
|
|
|
|
|
|
для: ruslanaxti
(25.05.2011 в 10:40)
| | + оптимизация РНР кода и HTML кода :) когда борьба идет за каждый байт траффика.
ну и смена мощного хостинга, на еще более мощный хостинг | |
|
|
|
|
|
|
|
для: Valick
(25.05.2011 в 10:56)
| | Ну а когда говориться что например joomla не выдержит больших нагрузок, а instansCMS подходит для этого. Это значит что у instans код более оптимизирован под это?
Например хостинг который стоит 100 руб в месяц с объемом памяти в 1 гб. Интересно сколько пользователей он выдержит? Для того чтоб сайт выдерживал нагрузку 200 пользователей хостинг какой мощности, параметров нужен? | |
|
|
|
|
|
|
|
для: ruslanaxti
(25.05.2011 в 11:05)
| | У разных CMS могут быть разные цели - у одной высокая производительность, у другой - скорость разработки, у третьей поисковая оптимизация и т.п.
>Интересно сколько пользователей он выдержит?
Пользователями тут ничего не измерить (пользователь может неделями не заходить или быть очень активным), тут нужно к хитам обращаться. | |
|
|
|
|
|
|
|
для: cheops
(25.05.2011 в 12:29)
| | мне кажется речь о 200 пользователях в секунду | |
|
|
|
|
|
|
|
для: Valick
(25.05.2011 в 12:42)
| | Это будет зависеть от того, что они делают и какие механизмы задействуются для их обслуживания, но не думаю, что хостинг за 100 рублей потянет 200 запросов в секунду. В любом случае это здорово зависит от того как долго обслуживается каждый запрос. Т.е. чтобы не было перегрузки, грубо говоря на каждого пользователя нужно тратить не более 5Мб памяти и запрос должен обслуживаться в течении 0.005 секунды. Вряд ли в памяти будет 200 5-мегабайтных процесса Apache, скорее всего их будет 10 в районе 50Мб (по памяти проходим), ну пусть 20. Это означает, что время выполнения запроса сокращается до 0.0005 секунды. Теперь осталось замерить фактическую скорость (которая будет зависеть и от скорости клиента, т.е. если он будет страницу на своем медленном канале тянуть 3 минуты - все это время Apache терпеливо будет ждать, не передавая этот процесс для обслуживания следующего запроса). Это очень грубая оценка, но от неё можно начинать отталкиваться. | |
|
|
|
|
|
|
|
для: ruslanaxti
(25.05.2011 в 10:40)
| | Социальные сети проектируются сразу с расчетом на несколько серверов, обычные сайты проектируются по другой схеме в расчете на один сервер, и возможное соседство множества других сайтов. | |
|
|
|
|
|
|
|
для: cheops
(25.05.2011 в 12:27)
| | У меня хостинг за 100 руб. (за большее платить не могу), еле еле сделал сайт соц. сеть. На нем пользователи регистрируются, могут находить друзей, писать сообщения (скажем на подобие твитера) видных для друзей. Писать блоги и оставлять к ним комментарии. Сложного ничего нет. Код простой и состоит из простых запросов без больших библиотек и фаерворков. На какое примерно число пользователей одновременно посетивших сайт я могу расчитывать? Человек 30 хоть смогу. И если сайт перегрузиться, что потом, какие нибудь последствия будут?
Скажите есть ли программы и какие нибудь методы позволяющие расчитать нагрузку на сайт. Нужно ли устанавливать линукс на свой комп и там как то его тестировать? | |
|
|
|
|
|
|
|
для: ruslanaxti
(25.05.2011 в 18:58)
| | Нет автоматических программ не встречал (вернее они вряд ли вам помогут)... да и железо постоянно меняется, а это все увязано довольно крепко. Кроме того, постоянно вводятся кэширующие подсистемы, например, этот форум вряд ли работал бы на виртуальном хостинге без обратного кэширующего сервера. Считать можно, но более или менее адекватно это считать можно только начиная с выделенного сервера, когда вы может прогонять тесты для измерения скорости доступа к дискам, оперативной памяти, проводить стресс-тесты. Все расчеты сводятся к измерению скорости отдачи страницы или запроса - чем они выше и чем дольше с повышением посещаемости.
>Человек 30 хоть смогу.
Смотря в какой срок и что они будут делать. Большинство запросов, например, к базе данных обрабатывается за сотые доли секунды - это позволяет обрабатывать огромное количество запросов. Однако, если возрастает нагрузка на процессор или ощущается нехватка оперативной памяти, это время будет стремительно увеличиваться. Расчитать это можно, но нужно много параметров на руках иметь.
>Скажите есть ли программы и какие нибудь методы позволяющие расчитать нагрузку на сайт.
>Нужно ли устанавливать линукс на свой комп и там как то его тестировать?
Так бесполезно - у вас железо другое, сеть вообще не смоделируете, а если затык будет там и запросы будут выполняться долго по сетевым причинам - у вас память заморозится в этих процессах и сервер ляжет, даже если у вас будет вылизанный код. Очень много параметров - модель нагрузки считать не просто с реальным сервером и полным доступом к нему, а без него - это не подъемная задача - будет модель не имеющая отношения к реальности. | |
|
|
|
|
|
|
|
для: cheops
(25.05.2011 в 12:27)
| | Тоже интересен данный вопрос. У меня хостер тоже ругается на нагрузку. Как можно выявить "узкие" места скрипта? | |
|
|
|
|
|
|
|
для: Добрый кот
(25.05.2011 в 21:30)
| | Попросите хостера хотя бы какой-то ключ: куда основная нагрузка: Apache, MySQL, память, канал. | |
|
|
|
|
|
|
|
для: cheops
(26.05.2011 в 13:51)
| | Нагрузка была на проц и мускул. Нагрузку на мускул снизил кешированием. осталось снизить нагрузку на процессор
00:00 12.30% httpd.pizza (веб-сервер) 12.3%
| при лимите 10%
12.80% [2011-05-26 01:27]
%CPU COMMAND: LAST REQUEST
2.50 [httpd.httpd] <defunct>
10.30 httpd-05: (worker) _ сайт.ru/mod.php?name=Art&go=page&cid=7469
|
| |
|
|
|
|
|
|
|
для: Добрый кот
(26.05.2011 в 18:46)
| | Динамический GDLib или еще что-то в этом духе используется? Объем генерируемых страниц велик? | |
|
|
|
|
|
|
|
для: cheops
(27.05.2011 в 16:05)
| | GD не используется. Размер страницы: 34 438 байт (По данным Оперы). Размер статьи 19 килобайт | |
|
|
|
|
|
|
|
для: Добрый кот
(27.05.2011 в 19:04)
| | А сколько времени в среднем формируется HTML-страница (на строне сервера)? | |
|
|
|
|
|
|
|
для: cheops
(27.05.2011 в 19:40)
| |
Открытие страницы: 0.15 секунды и 6 запросов к БД за 0.0964 сек.
|
| |
|
|
|
|
|
|
|
для: Добрый кот
(27.05.2011 в 20:14)
| | Вряд ли еще больше сократите это время. Нужно думать о переходе к более терпимому хостеру или перемещаться на выделенный сервер. | |
|
|
|
|
|
|
|
для: cheops
(27.05.2011 в 20:33)
| | А как нить можно проверить какая часть скрипта наиболее пожорлива? проценты нагрузки ведь откуда то берутся. потом этот кусок и оптимизировать | |
|
|
|
|
|
|
|
для: Добрый кот
(27.05.2011 в 20:41)
| | Большие вопросы к способам измерения этой нагрузки. Если хостер жалуется, что ваш ресурс создает нагрузку, следовательно пользователи не разделены (иначе бы вы захлебнулись бы в своей квоте и жаловались бы уже вы, а не хостер). Кто-то может поглощать память, при относительно невысокой нагрузке, а ваши вылизанные запросы выстраиваться в очередь, просто в силу того, что у вас посещаемость высокая. Хостер катит бочку на вас, хотя на самом деле у кого-то там бесконечный цикл со сложными SQL-запросом внутри, который никогда не заканчивается, так как PHP терпеливо ждет ответа от базы данных (ну это как один из вариантов, что на самом деле происходит можно понять, только получив полное управление над сервером). А может и в самом деле серверу тяжел ваш проект, ведь сервера в отличие от пользовательских машин друг от друга могут здорово по производительности различаться. | |
|
|
|
|
|
|
|
для: cheops
(27.05.2011 в 21:20)
| | вот еще нагуглил по теме. http://forum.dklab.ru/viewtopic.php?t=20072
Поставил на денвер, штука охрененная. Показывает где и какая нагрузка (на локалке). Нашел узкие места своих скриптов, правда легче не стало, далее уже некуда оптимизировать :)
Вообщем XDebug+WinCacheGrin маст хев | |
|
|
|