مصرف رم

[rtl][font="Tahoma"]

سلام به همگی

دوستان مصرف 4 مگ از رم برای yii چیز طبیعیه یا زیاده ؟ , برای اینکه این مصرف کم بشه چه راه هایی رو پیشنهاد میدید ؟

ممنون

[/font][/rtl]

منظورتون ۴ گیگ هست؟ ۴ مگ که چیزی نیست

[right]نه ایشون راست میگن مصرف رم ایی بالاس میشه با انواع کش و بهینگی دستورات تا حد زیادی کمش کرد[/right]

[font="Palatino Linotype"][rtl]4مگ بالاست 2 مگ عادیه [/rtl][/font]

[right][rtl][font="Tahoma"]

سلام

دوستان لطفا یک نفر روش benchmarking که استفاده میکنید و به این اعداد ۲ یا ۴ مگ رسیدید رو توضیح بده. دقیقا چجوری میشه مصرف رم رو اندازه گرفت؟

[/font][/rtl][/right]

[rtl]

با فعال کردن کش apc مقدار استفاده از رم چقدر میشه؟

[/rtl]

[rtl][font="Tahoma"]

آقا رضا یعنی شما تو پروژه هایی که مینویسید بیشتر از 2 مگ استفاده نمیشه ؟

بنده منظورم پروژه هایی در حد اسکریپت هایی که خودتون نوشتید هست

[/font][/rtl]

[rtl]

[font="Tahoma"]

دیباگ و پروفایلر رو فعال کنید مصرف رم رو نشون میده

استفاده از apc سرعت اسکریپت رو بالا میبره اما یادتون باشه خود apc جداگانه برای ذخیره و نگه داری اطلاعات از رم استفاده میکنه پس استفاده از apc نه تنها مصرف رم رو کاهش نمیده بلکه افزایش هم میده .

اما توی پروفایلر اسکریپت نمینویسه

:)

باید کمتر از این هم باشه ولی خب متاسفانه مصرف رم Yii بالاست که قبلا در موردش بحث کردیم.

سعی کنید بیشتراز دو مگ نشه

[/rtl]

[/font]

[rtl]

این پست رو هم ببینین راجع به همین موضوع هست

[/rtl]

Memory Usage When should i worry about?

[font="Tahoma"][rtl]از کش استفاده میکنید ؟

وبلاگی که خود yii بعد از دستور webapp میسازه 2 مگ استفاده میکنه

وقتی که از DAO برای اجرای کوئری استفاده میکنم به این مقدار 300 kb اظافه میشه در صورتی که Ar 500 تا 900kb استفاده میکنه

با این توصیف باید از DAO برای اجرای کوئری ها استفاده کنم ؟

همچنین برای ایجاد صفحه بندی هم باید از یه کلاس بیرونی استفاده کنم ؟ چون تستی که کردم صفحه بندی Yii هم مصرف بالایی داره

[/rtl][/font]

بسیار عالی

ممنون

[font="Tahoma"][rtl]

بله apc + file_cache

از DAO و اکتیو رکورد با هم استفاده میکنم

برای صفحه بندی هم کلا یه صفحه بندی اختصاصی خودم رو نوشتم

:)

[/rtl]

[/font]


<?php


class PagerWidget extends CWidget

{

	public  $items = array() ,

			$params ='' ,

			$action ='' ,

			$max = NULL ,

			$min = NULL ,

			$pk = 'id';

	

	

	public function init()

	{	

		if( ! strpos('?',$this->action))

			$start = '?';

		else

			$start = '&';

			

		$params = $this->params .',';

		$params = explode(',',$params);

		$params = array_map('trim',$params);

		$_params = array();

		foreach($params as $param)

		{

			if(isset($_GET[$param]))

				$_params[]= "{$param}=" . strip_tags($_GET[$param]);

		}	

		if( ! empty($_params))

			$this->action =  $this->action .$start. implode('&',$_params);	

		else

			$this->action = $this->action .$start .'';

	}

	

	public function run()

	{

		if(empty($this->items))

		{

			echo '<br>هیچ آیتمی یافت نشد !';

			if( ! empty(Yii::app()->request->urlReferrer))

				echo '<br>'.CHtml::link('بازگشت',Yii::app()->request->urlReferrer).'<br><br>';

			return;

		}

		$get = $this->getMinMax();

		if($get['max']<$this->max)

			$out = CHtml::link('« صفحه قبل',"{$this->action}&back={$get['max']}");

			

		if($get['min']>$this->min)

		{

			if( ! empty($out))

				$out .=' - ';

			$out .=CHtml::link('صفحه بعد »',"{$this->action}&next={$get['min']}");

		}

		echo $out;

	}

	

	 private function getMinMax()

	{

		if(empty($this->items))

			return NULL;

		if( ! is_array($this->items))

			$this->items = (array) $this->items;

		$ids = array();

		foreach($this->items as $item)

			$ids[] = $item[$this->pk];

		

		return array(

			'max'=>max($ids) ,

			'min'=>min($ids) ,

		);

		

	}


}

usage :


<?php $this->widget('PagerWidget',array('min'=>$pager->_min,'max'=>$pager->_max ,'params'=>'status', 'items'=>$items,'action'=>$this->createUrl('alluser'))); ?>

					

[rtl][font="Tahoma"]

دوستان من با کلی کش تونستم رو 2.300 مگ نگهش دارم اما تو فرم ها تا 4مگ استفاده میشه

راه حلی برای این موضوع دارید ؟

به نظر شما بهتره نتایج کوئری رو کش کنم یا کل صفحه رو ؟

ممنون

[/font][/rtl]