Przychodzi mi na myśl kilka rzeczy.
Pamięć podręczna kodów operacyjnych jest zawsze dobrym pomysłem. Wolę http://eaccelerator.net/ niż APC. Jeśli po drodze nie rozwijałeś się z APC, próba dodania go jest prawie zawsze bolesna. Eaccelerator, choć nie jest tak fantazyjny, po prostu wydaje się działać.
Odwrotny serwer proxy jest również dobrym pomysłem, ale musisz obserwować użycie pamięci RAM. Uważam, że Apache 2.2 z mpm-worker sam zajmuje dość dużo pamięci RAM. W twoim przypadku poleciłbym coś lżejszego jak Nginx i uruchom Apache z PHP jako FASTCGI lub po prostu zostaw to zgodnie z procesem. Pomysł korzystania z Varnish, Squid, Nginx itp. Polega na tym, aby serwery obsługiwały zawartość statyczną, zajmowały się połączeniami użytkowników i przekazywały tylko żądania PHP do Apache, który traktujesz jak serwer aplikacji.
Jeśli używasz dość nowej wersji Mysql 5.1, takiej jak co najmniej 5.1.24, masz teraz dostęp do wolniejszych dzienników poniżej drugiej sekundy. Chciałbym zacząć long_query_time od 1 lub 2, a następnie obniżyć go do 0,5, gdy opanujesz naprawdę długie. Istnieje również wiele ogólnych informacji o tuningu w sieci dla Mysql, ale nie masz pamięci RAM, aby zrobić wiele. Czy zwiększyłeś którekolwiek z ustawień od domyślnych? Większość domyślnych plików my.cnf jest skonfigurowanych do korzystania z około 64 MB pamięci RAM. Przynajmniej zwiększyłem key_buffer z 16 MB do 64 MB.
Dodatkowo używasz tabel Myisam lub Innodb? Jeśli trzymasz sesję w DB, będziesz chciał zmienić tabelę sesji na Innodb (lub zamiast tego zrobić ciasteczko) zamiast pozostawić tabelę Mysiam, która blokuje na poziomie tabeli, a nie na poziomie wiersza. Zasadniczo każda tabela, która zawiera więcej niż 20% zapisu do 80% odczytów, jest kandydatem do przejścia na Innodb. Pamiętaj, że musisz zrównoważyć ilość pamięci RAM między tabelami Myisam i tabelami Innodb, ponieważ bufory dla każdej są konfigurowane osobno.
I wreszcie kolejne 512 MB pamięci RAM przejdzie długą drogę w konfiguracji, a nawet kolejne 512 MB VPS do uruchomienia MySQL, jeśli jest to tańsze lub w przybliżeniu taka sama cena. Skłoniłbym się ku drugiej instancji, ponieważ podwoi to dostępne we / wy dysku. Jednym z problemów z serwerami VPS jest to, że Twoje IO nie jest chronione przed innymi osobami na tym samym serwerze fizycznym.
Hmmm mój post jest trochę rozproszony, ale daje ci wiele miejsc do obejrzenia. Powodzenia.