On Wed, Apr 9, 2014 at 11:16 AM, Dhanuka Ranasinghe <dhan...@wso2.com>wrote:
> Hi, > > What about other important JVM tuning parameters (GC threads and > strategy), Are you guys consider those as well? > If we are to make the Cassandra profile, fully Cassandra-like, yeah, it's a must we include all the required/recommended JVM parameters (including what's used for fine tuning the functionalities) in the start-up script as well. Cheers, Prabath > > Cheers, > Dhanuka > > *Dhanuka Ranasinghe* > > Senior Software Engineer > WSO2 Inc. ; http://wso2.com > lean . enterprise . middleware > > phone : +94 715381915 > > > On Wed, Apr 9, 2014 at 11:08 AM, Shammi Jayasinghe <sha...@wso2.com>wrote: > >> Hi Deep, >> >> +1, that is what i wanted. It would be great if you can add this to the >> startup script of Cassandra profile. >> >> Hi Indika, >> >> Could you please talk to deep on this. >> >> thanks >> Shammi >> >> >> On Wed, Apr 9, 2014 at 10:51 AM, Deependra Ariyadewa <d...@wso2.com>wrote: >> >>> >>> >>> >>> On Wed, Apr 9, 2014 at 8:51 AM, Shammi Jayasinghe <sha...@wso2.com>wrote: >>> >>>> >>>> >>>> >>>> On Tue, Apr 8, 2014 at 7:29 PM, Kishanthan Thangarajah < >>>> kishant...@wso2.com> wrote: >>>> >>>>> >>>>> >>>>> >>>>> On Tue, Apr 8, 2014 at 12:14 PM, Shammi Jayasinghe <sha...@wso2.com>wrote: >>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Apr 8, 2014 at 11:55 AM, Deependra Ariyadewa >>>>>> <d...@wso2.com>wrote: >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Tue, Apr 8, 2014 at 11:32 AM, Shammi Jayasinghe >>>>>>> <sha...@wso2.com>wrote: >>>>>>> >>>>>>>> Hi , >>>>>>>> >>>>>>>> I think we should not ask the user to change the .sh file or .bat >>>>>>>> file when starting with the cassandra profile. What we can do is, as >>>>>>>> default cassandra server does, we need to fix MB in a way that , when >>>>>>>> we >>>>>>>> start the MB with Cassandra profile, it automatically allocates 1/3 of >>>>>>>> the >>>>>>>> total memory for MB. WDYT ? >>>>>>>> >>>>>>> >>>>>>> We should be able to calculate required memory in the wso2server.sh. >>>>>>> >>>>>> >>>>>> Hi Sameera / Kishanthan, >>>>>> >>>>>> We have a requirement that the memory allocated when MB server >>>>>> starts with Cassandra profile should be a portion of the complete memory >>>>>> of >>>>>> the server. Is it possible to do it and if it is possible, how we should >>>>>> proceed ? >>>>>> >>>>> >>>>> We currently don't use profile specific configurations (such as >>>>> specific start-up scripts, etc) when starting up profiles. We start >>>>> profiles after the java process is started and all profiles use the same >>>>> configurations. So this will not be possible using carbon server startup >>>>> scripts. >>>>> >>>>> But can't you use MB/Cassandra specific startup script for this? This >>>>> script should set the relevant JVM parameters and call server start-up >>>>> with >>>>> cassandra profile. >>>>> >>>> >>>> Hi Kishanthan, >>>> >>>> Yes, we may able to use that scripts to fulfil this requirement. >>>> Actually what i wanted to know is whether we have inbuilt support from >>>> carbon for this requirement and thank you for clarifying. >>>> >>>> Hi Prabath/Deep, >>>> >>>> Do you have any idea on how cassandra handle the dynamic memory >>>> allocation for the product. I think , it will be a pain if we ask the user >>>> to change wso2server.sh or wso2server.bat if they want to start MB or SS >>>> with cassandra profile since with default memory allocation will not be >>>> enough for cassandra. >>>> >>> >>> We can add following logic use in cassandra-env.sh to Cassandra profile >>> startup section to calculate the heap sized. >>> >>> calculate_heap_sizes() >>> { >>> case "`uname`" in >>> Linux) >>> system_memory_in_mb=`free -m | awk '/Mem:/ {print $2}'` >>> system_cpu_cores=`egrep -c 'processor([[:space:]]+):.*' >>> /proc/cpuinfo` >>> ;; >>> FreeBSD) >>> system_memory_in_bytes=`sysctl hw.physmem | awk '{print $2}'` >>> system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / >>> 1024` >>> system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'` >>> ;; >>> SunOS) >>> system_memory_in_mb=`prtconf | awk '/Memory size:/ {print >>> $3}'` >>> system_cpu_cores=`psrinfo | wc -l` >>> ;; >>> Darwin) >>> system_memory_in_bytes=`sysctl hw.memsize | awk '{print $2}'` >>> system_memory_in_mb=`expr $system_memory_in_bytes / 1024 / >>> 1024` >>> system_cpu_cores=`sysctl hw.ncpu | awk '{print $2}'` >>> ;; >>> *) >>> # assume reasonable defaults for e.g. a modern desktop or >>> # cheap server >>> system_memory_in_mb="2048" >>> system_cpu_cores="2" >>> ;; >>> esac >>> >>> # some systems like the raspberry pi don't report cores, use at >>> least 1 >>> if [ "$system_cpu_cores" -lt "1" ] >>> then >>> system_cpu_cores="1" >>> fi >>> >>> # set max heap size based on the following >>> # max(min(1/2 ram, 1024MB), min(1/4 ram, 8GB)) >>> # calculate 1/2 ram and cap to 1024MB >>> # calculate 1/4 ram and cap to 8192MB >>> # pick the max >>> half_system_memory_in_mb=`expr $system_memory_in_mb / 2` >>> quarter_system_memory_in_mb=`expr $half_system_memory_in_mb / 2` >>> if [ "$half_system_memory_in_mb" -gt "1024" ] >>> then >>> half_system_memory_in_mb="1024" >>> fi >>> if [ "$quarter_system_memory_in_mb" -gt "8192" ] >>> then >>> quarter_system_memory_in_mb="8192" >>> fi >>> if [ "$half_system_memory_in_mb" -gt "$quarter_system_memory_in_mb" ] >>> then >>> max_heap_size_in_mb="$half_system_memory_in_mb" >>> else >>> max_heap_size_in_mb="$quarter_system_memory_in_mb" >>> fi >>> MAX_HEAP_SIZE="${max_heap_size_in_mb}M" >>> >>> # Young gen: min(max_sensible_per_modern_cpu_core * num_cores, 1/4 * >>> heap size) >>> max_sensible_yg_per_core_in_mb="100" >>> max_sensible_yg_in_mb=`expr $max_sensible_yg_per_core_in_mb "*" >>> $system_cpu_cores` >>> >>> desired_yg_in_mb=`expr $max_heap_size_in_mb / 4` >>> >>> if [ "$desired_yg_in_mb" -gt "$max_sensible_yg_in_mb" ] >>> then >>> HEAP_NEWSIZE="${max_sensible_yg_in_mb}M" >>> else >>> HEAP_NEWSIZE="${desired_yg_in_mb}M" >>> fi >>> } >>> >>> >>> Thanks, >>> >>> Deependra. >>> >>> >>> >>> >>>> >>>> >>>> Thanks >>>> Shammi >>>> >>>> >>>> >>>>> >>>>> >>>>>> Thanks >>>>>> Shammi >>>>>> >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> Deependra. >>>>>>> >>>>>>>> >>>>>>>> Thanks >>>>>>>> Shammi >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Apr 8, 2014 at 11:03 AM, Nuwan Silva <nuw...@wso2.com>wrote: >>>>>>>> >>>>>>>>> Hi All, >>>>>>>>> >>>>>>>>> With WSO2 MB 2.2.0 we have introduced profiles to start an >>>>>>>>> internal Apache Cassandra and Zookeeper. While starting with Cassandra >>>>>>>>> profile this starts a carbon server with Cassandra. According to the >>>>>>>>> MB >>>>>>>>> Tuning guide [1] we can set the MAX_HEAP_SIZE for Apache >>>>>>>>> Cassandra in cassandra-env.sh. >>>>>>>>> >>>>>>>>> AFAIK we do not pack this configuration file with WSO2 MB 2.2.0. >>>>>>>>> Instead cant we set the required memory parameters inside >>>>>>>>> wso2server.sh it >>>>>>>>> self? any idea where we can set the required memory? >>>>>>>>> >>>>>>>>> WDYT? >>>>>>>>> >>>>>>>>> [1] >>>>>>>>> https://docs.google.com/a/wso2.com/document/d/11Vpu2CQUyE-ZcEH-Y7uFI-MN6a9Dsx5_8m7s4NK0LMA/edit# >>>>>>>>> -- >>>>>>>>> >>>>>>>>> >>>>>>>>> *Nuwan Silva* >>>>>>>>> *Senior Software Engineer - QA* >>>>>>>>> Mobile: +94779804543 >>>>>>>>> >>>>>>>>> WSO2 Inc. >>>>>>>>> lean . enterprise . middlewear. >>>>>>>>> http://www.wso2.com >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best Regards, >>>>>>>> >>>>>>>> * Shammi Jayasinghe* >>>>>>>> Associate Tech Lead >>>>>>>> WSO2, Inc.; http://wso2.com, >>>>>>>> mobile: +94 71 4493085 >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Deependra Ariyadewa >>>>>>> WSO2, Inc. http://wso2.com/ http://wso2.org >>>>>>> >>>>>>> email d...@wso2.com; cell +94 71 403 5996 ; >>>>>>> Blog http://risenfall.wordpress.com/ >>>>>>> PGP info: KeyID: 'DC627E6F' >>>>>>> >>>>>>> *WSO2 - Lean . Enterprise . Middleware* >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Best Regards, >>>>>> >>>>>> * Shammi Jayasinghe* >>>>>> Associate Tech Lead >>>>>> WSO2, Inc.; http://wso2.com, >>>>>> mobile: +94 71 4493085 >>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> *Kishanthan Thangarajah* >>>>> Senior Software Engineer, >>>>> Platform Technologies Team, >>>>> WSO2, Inc. >>>>> lean.enterprise.middleware >>>>> >>>>> Mobile - +94773426635 >>>>> Blog - *http://kishanthan.wordpress.com >>>>> <http://kishanthan.wordpress.com>* >>>>> Twitter - *http://twitter.com/kishanthan >>>>> <http://twitter.com/kishanthan>* >>>>> >>>> >>>> >>>> >>>> -- >>>> Best Regards, >>>> >>>> * Shammi Jayasinghe* >>>> Associate Tech Lead >>>> WSO2, Inc.; http://wso2.com, >>>> mobile: +94 71 4493085 >>>> >>>> >>> >>> >>> -- >>> Deependra Ariyadewa >>> WSO2, Inc. http://wso2.com/ http://wso2.org >>> >>> email d...@wso2.com; cell +94 71 403 5996 ; >>> Blog http://risenfall.wordpress.com/ >>> PGP info: KeyID: 'DC627E6F' >>> >>> *WSO2 - Lean . Enterprise . Middleware* >>> >> >> >> >> -- >> Best Regards, >> >> * Shammi Jayasinghe* >> Associate Tech Lead >> WSO2, Inc.; http://wso2.com, >> mobile: +94 71 4493085 >> >> >> _______________________________________________ >> Dev mailing list >> Dev@wso2.org >> http://wso2.org/cgi-bin/mailman/listinfo/dev >> >> > -- Prabath Abeysekara Associate Technical Lead, Data TG. WSO2 Inc. Email: praba...@wso2.com Mobile: +94774171471
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev