[ic] Time for new hardware?

Grant emailgrant at gmail.com
Tue Sep 20 15:03:48 UTC 2016


>>>>>>>> I've been making a lot of optimizations lately and I think I'm to the
>>>>>>>> point where my 4 cores just aren't able to keep up with demand during
>>>>>>>> peak traffic hours each day.  Pages load quickly when I see fewer than
>>>>>>>> 4 busy interchange processes in top but things slow down drastically
>>>>>>>> after that.  Once I'm OK with the degree of optimization my ITL pages
>>>>>>>> have undergone and I'm not IO-bound or memory-bound, is it time to
>>>>>>>> throw CPU at the problem?
>>>>>>>>
>>>>>>>> I'm a little puzzled because I've seen my server perform much better
>>>>>>>> under much greater loads in the past.  I thought my growing mysql
>>>>>>>> tables could be the problem so I set up indexes and it has helped but
>>>>>>>> my server still struggles under loads it used to handle without issue.
>>>>>>>> I did notice that my tables are split about 50/50 between InnoDB and
>>>>>>>> MyISAM and I'd like to make all of them InnoDB.
>>>>>>>>
>>>>>>>> - Grant
>>>>>>>
>>>>>>> Yeah, I would recommend to switch all them to InnoDB for consistency
>>>>>>> and real transactions.
>>>>>>>
>>>>>>> You probably can find sufficient resources on MySQL optimization with
>>>>>>> InnoDB if that is your bottleneck.
>>>>>>
>>>>>>
>>>>>> Actually IO doesn't seem to be a bottleneck at this point.  It seems
>>>>>> to be CPU as things slow down once I have 4 busy interchange processes
>>>>>> on my quad-core CPU and iotop does not show much activity at that
>>>>>> point.  Besides ITL optimization, is this a clear case of needing a
>>>>>> faster CPU and more cores or is there anything else to consider first?
>>>>>>
>>>>>>
>>>>>>> May I ask which webserver you are using?
>>>>>>
>>>>>>
>>>>>> I'm using nginx reverse proxied to apache2.
>>>>>
>>>>> Did you consider to get rid of Apache?
>>>>
>>>>
>>>> I'm certainly planning to do that but if I watch top it looks like my
>>>> apache2 processes *barely* get above idle even when the web server is
>>>> under heavy load.  The interchange processes get hammered.
>>>>
>>>
>>> Which mode/settings do you use for the Interchange server? How
>>> do you connect Nginx and Interchange?
>>
>>
>> Here are my active traffic settings from interchange.cfg:
>>
>> PreFork                 Yes
>> StartServers            12
>> MaxServers              0
>> MaxRequestsPerChild     100
>> HouseKeeping            2
>> PIDcheck                3600
>> ChildLife               3600
>>
>> apache2 listens on a particular port and nginx sends page requests to
>> apache2 over that port via the proxy_pass directive.  apache2 then
>> hands off to interchange via Interchange::Link.
>
> We are using Nginx + FastCGI to connect to Interchange in most of our
> installations now.


That's where I want to end up.  Is there good info online on how to
connect nginx and IC directly?

- Grant



More information about the interchange-users mailing list