Реально ли это реализовать
Реально ли это реализовать
Здравствуйте уважаемые гуру cmsms. Я не так давно зареган на данном форуме, и интересует такой вопрос: хочу сделать мега проект на данной cms на проекте будет более 10 000 стр. и посещалка по прогнозам будет составлять от 4000 - 10000 уников в сутки, регистрации и многих других модулей просто напросто не будет, так как проект будет информационным, и реализованы тематики ремонт квартир, машин, сделать мебель своими руками, короче говоря все что связанно со словами "сделать самому", ну вот немного ушел от сути вопроса, а вопрос заключается в следующем, насколько cmsms сможет выдержать такие нагрузки, не будет ли из-за нагрузки падать сервер? почему задаю такой вопрос, просто видел на форуме ветку, что мол очень плохо держит нагрузки + хорошо нагружает сервак, что мол под него надо очень хорошее железо. Скажите был ли у кого опыт с работой подобие таких проектов на cmsms? и кто подскажет какое лучше брать железо чтоб держал такие нагрузки?
Re: Реально ли это реализовать
10000 в сутки - это, можно сказать, мизерная нагрузка.
По поводу большого количества страниц - для прежних версий писали, что плохо тянет. Но в 10 версии оптимизировали некоторые места, может быть ситуация изменилась в лучшую сторону. Хотя, кто знает..
По поводу большого количества страниц - для прежних версий писали, что плохо тянет. Но в 10 версии оптимизировали некоторые места, может быть ситуация изменилась в лучшую сторону. Хотя, кто знает..
Re: Реально ли это реализовать
Так мне не кто и не ответит нормально, сможет ли cmsms 10.3 выдержать нагрузку 10 - 20 к. уников в сутки и более 10-15 к. странниц на сайте, не будет ли она провисать?
Re: Реально ли это реализовать
Кто вам мешает проверить? Сгенерировать тысячи страниц можно простым скриптом, а протестировать на нагрузку - с помощью JMeter, к примеру.Blackseos wrote:Так мне не кто и не ответит нормально, сможет ли cmsms 10.3 выдержать нагрузку 10 - 20 к. уников в сутки и более 10-15 к. странниц на сайте, не будет ли она провисать?
Re: Реально ли это реализовать
а подскажите плиз этот скрипт
Re: Реально ли это реализовать
Оформлен в виде плагина (add_rand), можно и на пользовательский тег переделать. Недостаток - не успевает сгенерить за раз много страниц, если не укладывается в time limit. Генерирует страницы на 2 уровня вложенности; сколько на каждом уровне - задается переменными x, y, z. В данном случае должен создать 40 страниц (2*4*5).
Code: Select all
<?php
function genString($len) {
$chars = 'abdefhiknrstyz ABDEFGHKNQR STYZ23 456789 .-,:';
$count_chars = strlen ($chars);
for ($i=0; $i<$len; $i++) {
$rand = rand (1,$count_chars);
$ret .= substr ($chars, $rand, 1);
}
return $ret;
}
function add_page($parent_id)
{
$gCms = cmsms();
$contentops =& $gCms->GetContentOperations();
$userid = get_userid();
$templateops =& $gCms->GetTemplateOperations();
$dflt = $templateops->LoadDefaultTemplate();
$contentobj = $contentops->CreateNewContent('content');
$contentobj->SetPropertyValue('content_en', genString(1500));
$contentobj->SetTitleAttribute('Random content');
$contentobj->SetMenuText('Random content');
$contentobj->SetAlias('');
$contentobj->SetCachable(true);
$contentobj->SetActive(true);
$contentobj->SetShowInMenu(true);
$contentobj->SetLastModifiedBy($userid);
$contentobj->SetTemplateId($dflt->id);
$contentobj->SetParentId($parent_id);
$contentobj->SetOwner($userid);
$contentobj->SetAddMode();
if ($contentobj->ValidateData() === false) {
$contentobj->Save();
return $contentobj->Id();
}
else {
return false;
}
}
function smarty_cms_function_add_rand($params, &$smarty)
{
$x=2; $y=4; $z=5;
for (;$x-- > 0;) {
$x_id = add_page(-1);
for ($j = $y; $j-- > 0;) {
$y_id = add_page($x_id);
for ($k = $z; $k-- > 0;) {
add_page($y_id);
}
}
}
cmsms()->GetContentOperations()->SetAllHierarchyPositions();
return 'done';
}
function smarty_cms_help_function_add_rand()
{
echo lang('help_function_add_rand');
}
function smarty_cms_about_function_add_rand()
{
?>
<p>Author: fenik17</p>
<p>Version: 1.0</p>
<p>
Change History:<br/>
1.0 - Initial version
</p>
<?php
}
?>
Re: Реально ли это реализовать
Если хочется прямо за раз сгенерировать 10000 страниц - надо запускать скрипт не под веб-сервером. Но для этого его придется переделать. Проще этот повесить на какую-нибудь страницу и вызывать, пока нужное количество не наберется.